Desain mesin negara di Workflow Studio - AWS Step Functions

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Desain mesin negara di Workflow Studio

Dalam tutorial ini, Anda akan mempelajari dasar-dasar bekerja dengan Workflow Studio untuk AWS Step Functions. Di Mode desain Workflow Studio, Anda akan membuat mesin status yang berisi beberapa status, termasukPass,,Choice, FailWait, danParallel. Anda akan menggunakan fitur seret dan lepas untuk mencari, memilih, dan mengonfigurasi status ini. Kemudian, Anda akan melihat definisi auto-generated Amazon States Language (ASL) dari alur kerja Anda. Anda juga akan menggunakan Mode kode Workflow Studio untuk mengedit definisi alur kerja. Kemudian, Anda akan keluar dari Workflow Studio, menjalankan state machine, dan meninjau detail eksekusi.

Dalam tutorial ini, Anda juga akan belajar cara memperbarui mesin status dan melihat perubahan dalam output eksekusi. Terakhir, Anda akan melakukan langkah pembersihan dan menghapus mesin status Anda.

Setelah Anda menyelesaikan tutorial ini, Anda akan tahu cara menggunakan Workflow Studio untuk membuat dan mengkonfigurasi alur kerja menggunakan mode Desain dan Kode. Anda juga akan tahu cara memperbarui, menjalankan, dan menghapus mesin status Anda.

Langkah 1: Arahkan ke Workflow Studio

  1. Buka Konsol Step Functions dan pilih Buat mesin status.

  2. Dalam kotak dialog Pilih templat, pilih Kosong.

  3. Pilih Pilih untuk membuka Workflow Studio diMode desain.

Langkah 2: Buat mesin negara

Dalam Studio Alur Kerja, mesin status adalah representasi grafis dari alur kerja Anda. Dengan Workflow Studio, Anda dapat menentukan, mengonfigurasi, dan memeriksa setiap langkah alur kerja Anda. Dalam langkah-langkah berikut, Anda menggunakan Mode desain Workflow Studio untuk membuat mesin status Anda.

Untuk membuat mesin status
  1. Pastikan Anda berada dalam mode Desain Workflow Studio.

  2. Dari Peramban status sebelah kiri, pilih tab Flow. Kemudian, seret status Pass ke status kosong berlabel Seret status pertama di sini.

  3. Seret status Choice dari tab Flow dan jatuhkan di bawah status Pass.

  4. Untuk nama Negara, ganti nama default Choice. Untuk tutorial ini, gunakan namanyaIsHelloWorldExample.

  5. Seret status Pass lain dan jatuhkan ke satu cabang IsHelloWorldExamplenegara bagian. Kemudian, seret status Fail dan jatuhkan di bawah cabang IsHelloWorldExamplenegara bagian lainnya.

  6. Pilih status Pass (1), dan ganti namanya menjadiYes. Ganti nama status Gagal sebagaiNo.

  7. Tentukan logika percabangan IsHelloWorldExamplenegara menggunakan variabel boolean. IsHelloWorldExample

    Jika IsHelloWorldExample yaFalse, alur kerja akan masuk ke No state. Jika tidak, alur kerja akan melanjutkan alur eksekusinya dalam status Ya.

    Untuk menentukan logika percabangan, lakukan hal berikut:

    1. Pilih IsHelloWorldExamplestatus padaGrafik kanvas dan alur kerja, dan kemudian di bawah Aturan Pilihan, pilih ikon edit di kotak Aturan #1 untuk menentukan aturan pilihan pertama.

    2. Pilih Tambahkan kondisi.

    3. Dalam kotak dialog Ketentuan untuk aturan #1, masukkan $.IsHelloWorldExample di bawah Variabel.

    4. Pilih sama dengan di bawah Operator.

    5. Pilih konstanta Boolean di bawah Nilai, dan kemudian pilih true dari daftar dropdown.

    6. Pilih Simpan kondisi.

    7. Pastikan Then next state is: dropdown list has yes selected.

    8. Pilih Tambahkan aturan pilihan baru, lalu pilih Tambahkan kondisi.

    9. Dalam kotak Aturan #2, tentukan aturan pilihan kedua ketika nilai IsHelloWorldExample variabel salah dengan mengulangi sublangkah 7.c hingga 7.f. Untuk langkah 7.e, pilih false, bukan true.

    10. Di kotak Rule #2, pilih No dari Then next state is: dropdown list.

    11. Di kotak Aturan default, pilih ikon edit untuk menentukan aturan pilihan default, lalu pilih Ya dari daftar dropdown.

  8. Tambahkan status Tunggu setelah status Ya, dan beri namaWait 3 sec. Kemudian, konfigurasikan waktu tunggu menjadi tiga detik dengan melakukan langkah-langkah berikut:

    1. Di bawah Opsi, pertahankan pilihan default Tunggu interval tetap.

    2. Di bawah Detik, pastikan Enter detik dipilih, lalu masukkan 3 di dalam kotak.

  9. Setelah status Tunggu 3 detik, tambahkan status Paralel. Tambahkan dua status Pass di dua cabangnya. Sebutkan status Pass pertamaHello. Sebutkan status Pass keduaWorld.

    Alur kerja yang telah selesai akan terlihat seperti diagram berikut:

    Tangkapan layar alur kerja mesin IsHelloWorldExample negara.

Langkah 3: Tinjau definisi Bahasa Amazon States yang dibuat secara otomatis

Saat Anda menyeret dan melepas status dari tab Flow ke kanvas, Workflow Studio secara otomatis menyusun definisi Amazon States Language (ASL) alur kerja Anda secara real-time. Di Panel Inspector panel, pilih tombol sakelar Definisi untuk melihat definisi ini atau beralih ke Mode kode untuk mengedit definisi ini sesuai kebutuhan. Untuk informasi tentang mengedit definisi alur kerja, lihat Langkah 4 dari tutorial ini.

  • (Opsional) Pilih Definisi pada panel Inspector dan lihat alur kerja state machine.

    Kode contoh berikut menunjukkan definisi Amazon States Language yang dibuat secara otomatis untuk mesin IsHelloWorldExample status. ChoiceStatus yang Anda tambahkan di Workflow Studio digunakan untuk menentukan alur eksekusi berdasarkan logika percabangan yang Anda tentukan di Langkah 2.

    { "Comment": "A Hello World example of the Amazon States Language using Pass states", "StartAt": "Pass", "States": { "Pass": { "Type": "Pass", "Next": "IsHelloWorldExample", "Comment": "A Pass state passes its input to its output, without performing work. Pass states are useful when constructing and debugging state machines." }, "IsHelloWorldExample": { "Type": "Choice", "Comment": "A Choice state adds branching logic to a state machine. Choice rules can implement 16 different comparison operators, and can be combined using And, Or, and Not\"", "Choices": [ { "Variable": "$.IsHelloWorldExample", "BooleanEquals": false, "Next": "No" }, { "Variable": "$.IsHelloWorldExample", "BooleanEquals": true, "Next": "Yes" } ], "Default": "Yes" }, "No": { "Type": "Fail", "Cause": "Not Hello World" }, "Yes": { "Type": "Pass", "Next": "Wait 3 sec" }, "Wait 3 sec": { "Type": "Wait", "Seconds": 3, "Next": "Parallel" }, "Parallel": { "Type": "Parallel", "End": true, "Branches": [ { "StartAt": "Hello", "States": { "Hello": { "Type": "Pass", "End": true } } }, { "StartAt": "World", "States": { "World": { "Type": "Pass", "End": true } } } ] } } }

Langkah 4: Edit definisi alur kerja dalam mode Kode

Mode Kode Workflow Studio menyediakan editor kode terintegrasi untuk melihat dan mengedit ASL definisi alur kerja Anda.

  1. Pilih Kode untuk beralih ke mode Kode.

  2. Setelah definisi status Paralel, tempatkan kursor dan tekanEnter.

  3. Tekan Ctrl+space untuk melihat daftar status yang dapat Anda tambahkan setelah status Paralel.

  4. Pilih Pass State dari daftar opsi. Editor kode menambahkan kode boilerplate untuk Pass State.

  5. Penambahan status ini menghasilkan kesalahan dalam definisi alur kerja Anda. Dalam definisi keadaan Paralel, ganti "End": true dengan"Next": "PassState".

  6. Dalam definisi Status Lulus yang Anda tambahkan, buat perubahan berikut:

    1. Hapus node Hasil.

    2. Hapus "ResultPath": "$.result", dan"Next": "NextState".

    3. Setelah"Type": "Pass",, masuk"End": true.

    4. Tambahkan definisi , setelah Pass State.

Definisi alur kerja Anda sekarang harus terlihat mirip dengan definisi berikut.

{ "Comment": "A description of my state machine", "StartAt": "Pass", "States": { "Pass": { "Type": "Pass", "Next": "IsHelloWorldExample" }, "IsHelloWorldExample": { "Type": "Choice", "Choices": [ { "Variable": "$.IsHelloWorldExample", "BooleanEquals": true, "Next": "Yes" }, { "Variable": "$.IsHelloWorldExample", "BooleanEquals": false, "Next": "No" } ], "Default": "Yes" }, "Yes": { "Type": "Pass", "Next": "Wait 3 seconds" }, "Wait 3 seconds": { "Type": "Wait", "Seconds": 3, "Next": "Parallel" }, "Parallel": { "Type": "Parallel", "Branches": [ { "StartAt": "Hello", "States": { "Hello": { "Type": "Pass", "End": true } } }, { "StartAt": "World", "States": { "World": { "Type": "Pass", "End": true } } } ], "Next": "PassState" }, "PassState": { "Type": "Pass", "End": true }, "No": { "Type": "Fail" } } }

Langkah 5: Simpan mesin negara

  1. Pilih Config more atau pilih ikon edit di sebelah nama mesin status default. MyStateMachine Dalam konfigurasi mesin State, tentukan nama. Misalnya, masukkan HelloWorld.

  2. (Opsional) Tentukan pengaturan alur kerja lainnya, seperti jenis mesin status dan peran pelaksanaannya. Untuk tutorial ini, simpan semua pilihan default dalam konfigurasi mesin State.

  3. Pilih Buat.

  4. Dalam kotak dialog Konfirmasi pembuatan peran, pilih Konfirmasi untuk melanjutkan.

    Anda juga dapat memilih Lihat konfigurasi peran untuk kembali ke mode Config.

Untuk informasi selengkapnya tentang mode Config, lihat Mode Config Workflow Studio.

Langkah 6: Jalankan mesin negara

Eksekusi mesin status adalah instans tempat Anda menjalankan alur kerja untuk melakukan tugas.

  1. Pada halaman mesin negara, pilih mesin HelloWorldnegara.

  2. Pada HelloWorldhalaman, pilih Mulai eksekusi.

  3. (Opsional) Masukkan nama eksekusi khusus untuk mengganti default yang dihasilkan.

    Bukan ASCII nama dan pencatatan

    Step Functions menerima nama untuk mesin negara, eksekusi, aktivitas, dan label yang berisi ASCII non-karakter. Karena karakter seperti itu tidak akan berfungsi dengan Amazon CloudWatch, kami sarankan hanya menggunakan ASCII karakter sehingga Anda dapat melacak metrik. CloudWatch

  4. Di kotak Input, masukkan nilai input untuk eksekusi Anda dalam JSON format. Berdasarkan masukan Anda, IsHelloWorldExample variabel menentukan aliran mesin status mana yang akan dieksekusi. Untuk saat ini, gunakan nilai input berikut:

    { "IsHelloWorldExample": true }
    catatan

    Sementara menentukan input eksekusi adalah opsional, dalam tutorial ini, adalah wajib untuk menentukan input eksekusi mirip dengan contoh input di atas. Nilai masukan ini direferensikan dalam Choice status saat Anda menjalankan mesin status.

  5. Pilih Mulai Eksekusi.

  6. Konsol Step Functions mengarahkan Anda ke halaman yang berjudul dengan ID eksekusi Anda. Halaman ini dikenal sebagai halaman Detail Eksekusi. Di halaman ini, Anda dapat meninjau hasil eksekusi saat eksekusi berlangsung atau setelah selesai.

    Untuk meninjau hasil eksekusi, pilih status individual pada tampilan Grafik, lalu pilih tab individual di Detail langkah panel untuk melihat detail setiap status termasuk input, output, dan definisi masing-masing. Untuk detail tentang informasi eksekusi yang dapat Anda lihat di halaman Rincian Eksekusi, lihatIkhtisar detail eksekusi.

    Untuk tutorial ini, jika Anda memasukkan nilai masukan"IsHelloWorldExample": true, Anda akan melihat output berikut:

    { "IsHelloWorldExample": true }, { "IsHelloWorldExample": true }

Langkah 7: Perbarui mesin negara Anda

Ketika Anda memperbarui mesin status, pembaruan Anda pada akhirnya konsisten. Setelah beberapa saat, semua eksekusi yang baru dimulai akan mencerminkan definisi terbaru mesin status Anda. Semua eksekusi yang sedang berjalan akan berjalan hingga selesai di bawah definisi sebelumnya.

Pada langkah ini, Anda akan memperbarui mesin status Anda dalam Mode desain mode Workflow Studio. Anda akan menambahkan Result bidang di status Pass bernama World.

  1. Pada halaman yang diberi judul dengan ID eksekusi Anda, pilih Edit mesin status.

  2. Pastikan Anda berada dalam mode Desain.

  3. Pilih status Pass bernama Dunia di kanvas, lalu pilih Output.

  4. Di kotak Hasil, masukkan"World has been updated!".

  5. Pilih Simpan.

  6. (Opsional) Di area Definisi, lihat definisi Amazon States Language yang diperbarui dari alur kerja Anda.

    { "Type": "Parallel", "End": true, "Branches": [ { "StartAt": "Hello", "States": { "Hello": { "Type": "Pass", "End": true } } }, { "StartAt": "World", "States": { "World": { "Type": "Pass", "Result": "World has been updated!", "End": true } } } ], "Next": "PassState" }
  7. Pilih Eksekusi.

  8. Dalam kotak dialog Mulai eksekusi yang terbuka di tab baru, berikan input eksekusi berikut.

    { "IsHelloWorldExample": true }
  9. Pilih Mulai Eksekusi.

  10. (Opsional) Dalam tampilan Grafik, pilih langkah Dunia, lalu pilih Keluaran. Outputnya adalah Dunia telah diperbarui!

Langkah 8: Membersihkan

Untuk menghapus mesin status Anda
  1. Dari menu navigasi, pilih Mesin status.

  2. Pada halaman State Machines, pilih HelloWorld, lalu pilih Delete.

  3. Dalam kotak dialog Delete state machine, ketik delete untuk mengonfirmasi penghapusan.

  4. Pilih Hapus.

    Jika penghapusan berhasil, bilah status hijau muncul di bagian atas layar Anda. Bilah status hijau memberi tahu Anda bahwa mesin status Anda telah ditandai untuk dihapus. Mesin status Anda akan dihapus ketika semua eksekusi yang sedang berlangsung berhenti berjalan.

Untuk menghapus peran eksekusi
  1. Buka halaman Peran untukIAM.

  2. Pilih IAM peran yang dibuat Step Functions untuk Anda. Misalnya, StepFunctions- HelloWorld -role- EXAMPLE.

  3. Pilih Hapus peran.

  4. Pilih Ya, Hapus.