Melanjutkan eksekusi baru menggunakan API tindakan Step Functions (disarankan) - AWS Step Functions

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

Melanjutkan eksekusi baru menggunakan API tindakan Step Functions (disarankan)

Step Functions dapat memulai eksekusi alur kerja dengan memanggilnya sendiri API sebagai layanan terintegrasi. Kami menyarankan Anda menggunakan pendekatan ini untuk menghindari melebihi kuota layanan untuk eksekusi jangka panjang.

Langkah 1: Buat mesin status yang sudah berjalan lama

Buat mesin status yang sudah berjalan lama yang ingin Anda mulai dari Task keadaan mesin negara yang berbeda. Untuk tutorial ini, gunakan mesin state yang menggunakan fungsi Lambda.

catatan

Pastikan untuk menyalin nama dan Nama Sumber Daya Amazon dari mesin status ini dalam file teks untuk digunakan nanti.

Langkah 2: Buat mesin status untuk memanggil API tindakan Step Functions

Untuk memulai eksekusi alur kerja dari suatu negara Task
  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.

  4. Dari tab Tindakan, seret StartExecutionAPItindakan dan jatuhkan pada status kosong berlabel Seret status pertama di sini.

  5. Pilih StartExecutionstatus dan lakukan hal berikut di tab Konfigurasi diMode desain:

    1. Ubah nama negara menjadiStart nested execution.

    2. Untuk jenis Integrasi, pilih AWS SDK- baru dari daftar dropdown.

    3. Dalam APIParameter, lakukan hal berikut:

      1. UntukStateMachineArn, ganti contoh Nama Sumber Daya Amazon dengan mesin status Anda. ARN Misalnya, masukkan mesin ARN negara yang menggunakan Lambda.

      2. Untuk Input node, ganti teks placeholder yang ada dengan nilai berikut:

        "Comment": "Starting workflow execution using a Step Functions API action"
      3. Pastikan input Anda di APIParameter terlihat mirip dengan yang berikut ini:

        { "StateMachineArn": "arn:aws:states:us-east-2:123456789012:stateMachine:LambdaStateMachine", "Input": { "Comment": "Starting workflow execution using a Step Functions API action", "AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID.$": "$$.Execution.Id" }
  6. (Opsional) Pilih Definisi pada Panel Inspector panel untuk melihat definisi Amazon States Language (ASL) yang dihasilkan secara otomatis dari alur kerja Anda.

    Tip

    Anda juga dapat melihat ASL definisi di Editor kode Workflow Studio. Di editor kode, Anda juga dapat mengedit ASL definisi alur kerja Anda.

  7. Tentukan nama untuk mesin negara Anda. Untuk melakukan ini, pilih ikon edit di sebelah nama mesin status default MyStateMachine. Kemudian, dalam konfigurasi mesin Negara, tentukan nama di kotak Nama mesin Negara.

    Untuk tutorial ini, masukkan nama ParentStateMachine.

  8. (Opsional) Dalam konfigurasi mesin State, tentukan pengaturan alur kerja lainnya, seperti jenis mesin status dan peran pelaksanaannya.

    Untuk tutorial ini, simpan semua pilihan default di pengaturan mesin State.

    Jika sebelumnya Anda telah membuat IAM peran dengan izin yang benar untuk mesin status dan ingin menggunakannya, di Izin, pilih Pilih peran yang ada, lalu pilih peran dari daftar. Atau pilih Masukkan peran ARN dan kemudian berikan IAM peran ARN untuk itu.

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

    Anda juga dapat memilih Lihat pengaturan peran untuk kembali ke konfigurasi mesin Status.

    catatan

    Jika Anda menghapus IAM peran yang dibuat Step Functions, Step Functions tidak dapat membuatnya kembali nanti. Demikian pula, jika Anda mengubah peran (misalnya, dengan menghapus Step Functions dari prinsipal dalam IAM kebijakan), Step Functions tidak dapat memulihkan pengaturan aslinya nanti.

Langkah 3: Perbarui IAM kebijakan

Untuk memastikan mesin status Anda memiliki izin untuk memulai eksekusi mesin status yang menggunakan fungsi Lambda, Anda harus melampirkan kebijakan inline ke peran mesin status Anda. IAM Untuk informasi selengkapnya, lihat Menyematkan Kebijakan Sebaris di IAMPanduan Pengguna.

  1. Pada ParentStateMachinehalaman, pilih IAMperan ARN untuk menavigasi ke halaman IAM Peran untuk mesin status Anda.

  2. Tetapkan izin yang sesuai ParentStateMachineuntuk IAM peran agar dapat memulai eksekusi mesin negara lain. Untuk menetapkan izin, lakukan hal berikut:

    1. Pada halaman IAM Peran, pilih Tambahkan izin, lalu pilih Buat kebijakan sebaris.

    2. Pada halaman Buat kebijakan, pilih JSONtab.

    3. Ganti teks yang ada dengan kebijakan berikut.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:StartExecution" ], "Resource": [ "arn:aws:states:us-east-2:123456789012:stateMachine:LambdaStateMachine" ] } ] }
    4. Pilih Tinjau kebijakan.

    5. Tentukan nama untuk kebijakan tersebut, lalu pilih Buat kebijakan.

Langkah 4: Jalankan mesin negara

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

  1. Pada ParentStateMachinehalaman, pilih Mulai eksekusi.

    Kotak dialog Mulai eksekusi ditampilkan.

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

    1. (Opsional) Untuk mengidentifikasi eksekusi Anda, Anda dapat menentukan nama, atau menggunakan nama eksekusi default yang dihasilkan.

      catatan

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

    2. (Opsional) Dalam kotak Input, masukkan nilai input dalam JSON format untuk menjalankan alur kerja Anda.

    3. Pilih Mulai Eksekusi.

    4. 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, lihatHalaman Detail Eksekusi - Ikhtisar antarmuka.

  3. Buka LambdaStateMachinehalaman dan perhatikan eksekusi baru yang dipicu oleh file ParentStateMachine.