Memulai alur kerja dalam alur kerja dengan Step Functions dan Lambda - AWS Step Functions

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

Memulai alur kerja dalam alur kerja dengan Step Functions dan Lambda

Contoh proyek ini menunjukkan cara menggunakan AWS Step Functions mesin negara untuk memulai eksekusi mesin negara lainnya. Untuk informasi tentang memulai eksekusi mesin status dari mesin negara lain, lihatMulai eksekusi alur kerja dari status tugas di Step Functions.

Langkah 1: Buat mesin negara

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

  2. Ketik Start a workflow within a workflow di kotak pencarian, lalu pilih Mulai alur kerja dalam alur kerja dari hasil penelusuran yang dikembalikan.

  3. Pilih Next untuk melanjutkan.

  4. Pilih Jalankan demo untuk membuat read-only dan ready-to-deploy alur kerja, atau pilih Bangun di atasnya untuk membuat definisi mesin status yang dapat diedit yang dapat Anda buat dan kemudian terapkan.

    Proyek contoh ini menyebarkan sumber daya berikut:

    • Mesin negara tambahan. Eksekusi mesin state ini dimulai oleh mesin state yang Anda jalankan.

    • Fungsi callback Lambda. Fungsi ini digunakan dalam mesin status tambahan untuk mengimplementasikan mekanisme callback.

    • Sesi AWS Step Functions mesin status

    • Terkait AWS Identity and Access Management (IAM) peran

    Gambar berikut menunjukkan grafik alur kerja untuk Memulai alur kerja dalam proyek contoh alur kerja:

    Grafik alur kerja dari Mulai alur kerja dalam proyek sampel alur kerja.
  5. Pilih Gunakan templat untuk melanjutkan pilihan Anda.

Langkah selanjutnya tergantung pada pilihan Anda sebelumnya:

  1. Jalankan demo - Anda dapat meninjau mesin status sebelum membuat proyek hanya-baca dengan sumber daya yang digunakan oleh AWS CloudFormation untuk Anda Akun AWS.

    Anda dapat melihat definisi mesin status, dan ketika Anda siap, pilih Deploy dan jalankan untuk menyebarkan proyek dan membuat sumber daya.

    Penyebaran dapat memakan waktu hingga 10 menit untuk membuat sumber daya dan izin. Anda dapat menggunakan tautan Stack ID untuk memantau kemajuan AWS CloudFormation.

    Setelah penerapan selesai, Anda akan melihat mesin status baru Anda di konsol.

  2. Bangun di atasnya - Anda dapat meninjau dan mengedit definisi alur kerja. Anda mungkin perlu menetapkan nilai untuk placeholder dalam proyek sampel sebelum mencoba untuk menjalankan alur kerja kustom Anda.

catatan

Biaya standar mungkin berlaku untuk layanan yang diterapkan ke akun Anda.

Langkah 2: Jalankan mesin negara

  1. Pada halaman mesin Negara, pilih proyek sampel Anda.

  2. Pada halaman proyek sampel, pilih Mulai eksekusi.

  3. Dalam kotak dialog Mulai eksekusi, lakukan hal berikut:

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

      Non- ASCII nama dan logging

      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

    2. (Opsional) Dalam Input kotak, masukkan nilai masukan sebagaiJSON. Anda dapat melewati langkah ini jika Anda menjalankan demo.

    3. Pilih Mulai Eksekusi.

    Konsol Step Functions akan mengarahkan Anda ke halaman Detail Eksekusi di mana Anda dapat memilih status dalam tampilan Grafik untuk menjelajahi informasi terkait di Detail langkah panel.

Contoh Kode Mesin Status

Mesin negara dalam proyek sampel ini mengintegrasikan mesin negara bagian lain dan AWS Lambda dengan meneruskan parameter langsung ke sumber daya tersebut.

Jelajahi contoh mesin status ini untuk melihat bagaimana Step Functions memanggil StartExecution API tindakan untuk mesin status lainnya. Ini meluncurkan dua instans dari mesin status lainnya secara paralel: satu menggunakan pola Jalankan Tugas (.sync) dan satu menggunakan pola Tunggu Callback dengan Task Token.

Untuk informasi lebih lanjut tentang caranya AWS Step Functions dapat mengontrol lainnya AWS layanan, lihatMengintegrasikan layanan dengan Step Functions.

{ "Comment": "An example of combining workflows using a Step Functions StartExecution task state with various integration patterns.", "StartAt": "Start new workflow and continue", "States": { "Start new workflow and continue": { "Comment": "Start an execution of another Step Functions state machine and continue", "Type": "Task", "Resource": "arn:aws:states:::states:startExecution", "Parameters": { "StateMachineArn": "arn:aws:states:us-east-1:123456789012:stateMachine:NestingPatternAnotherStateMachine-HZ9gtgspmdun", "Input": { "NeedCallback": false, "AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID.$": "$$.Execution.Id" } }, "Next": "Start in parallel" }, "Start in parallel": { "Comment": "Start two executions of the same state machine in parallel", "Type": "Parallel", "End": true, "Branches": [ { "StartAt": "Start new workflow and wait for completion", "States": { "Start new workflow and wait for completion": { "Comment": "Start an execution of the same 'NestingPatternAnotherStateMachine' and wait for its completion", "Type": "Task", "Resource": "arn:aws:states:::states:startExecution.sync", "Parameters": { "StateMachineArn": "arn:aws:states:us-east-1:123456789012:stateMachine:NestingPatternAnotherStateMachine-HZ9gtgspmdun", "Input": { "NeedCallback": false, "AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID.$": "$$.Execution.Id" } }, "OutputPath": "$.Output", "End": true } } }, { "StartAt": "Start new workflow and wait for callback", "States": { "Start new workflow and wait for callback": { "Comment": "Start an execution and wait for it to call back with a task token", "Type": "Task", "Resource": "arn:aws:states:::states:startExecution.waitForTaskToken", "Parameters": { "StateMachineArn": "arn:aws:states:us-east-1:123456789012:stateMachine:NestingPatternAnotherStateMachine-HZ9gtgspmdun", "Input": { "NeedCallback": true, "AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID.$": "$$.Execution.Id", "TaskToken.$": "$$.Task.Token" } }, "End": true } } } ] } } }

Untuk informasi tentang cara mengkonfigurasi IAM saat menggunakan Step Functions dengan lainnya AWS layanan, lihatBagaimana Step Functions menghasilkan IAM kebijakan untuk layanan terintegrasi.