Kelola AWS Step Functions Eksekusi sebagai Layanan Terpadu - AWS Step Functions

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

Kelola AWS Step Functions Eksekusi sebagai Layanan Terpadu

Step Functions berintegrasi dengan API-nya sendiri sebagai integrasi layanan. Hal ini mengizinkan Step Functions untuk memulai eksekusi baru dari mesin status langsung dari status tugas eksekusi yang berjalan. Saat membangun alur kerja baru, gunakan eksekusi alur kerja yang di-nest untuk mengurangi kompleksitas alur kerja utama Anda dan untuk menggunakan kembali proses umum.

Bagaimana integrasi Step Functions yang Dioptimalkan berbeda dari integrasi Step Functions AWS SDK

Perhatikan bahwa tidak ada pengoptimalan untuk pola Minta Tanggapan atau Tunggu Panggilan Balik dengan Token Tugas integrasi.

Untuk informasi selengkapnya, lihat hal berikut:

API dan sintaksis Step Functions yang didukung:

Berikut ini mencakup status Task yang memulai eksekusi mesin status lain dan menunggunya selesai.

{ "Type":"Task", "Resource":"arn:aws:states:::states:startExecution.sync:2", "Parameters":{ "Input":{ "Comment": "Hello world!" }, "StateMachineArn":"arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld", "Name":"ExecutionName" }, "End":true }

Berikut ini mencakup status Task yang memulai eksekusi mesin status lain.

{ "Type":"Task", "Resource":"arn:aws:states:::states:startExecution", "Parameters":{ "Input":{ "Comment": "Hello world!" }, "StateMachineArn":"arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld", "Name":"ExecutionName" }, "End":true }

Berikut ini mencakup status Task yang mengimplementasikan pola integrasi layanan callback.

{ "Type":"Task", "Resource":"arn:aws:states:::states:startExecution.waitForTaskToken", "Parameters":{ "Input":{ "Comment": "Hello world!", "token.$": "$$.Task.Token" }, "StateMachineArn":"arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld", "Name":"ExecutionName" }, "End":true }

Untuk mengaitkan eksekusi alur kerja yang di-nest dengan eksekusi induk yang memulainya, teruskan parameter khusus bernama yang mencakup ID eksekusi yang ditarik dari objek konteks. Ketika memulai eksekusi yang di-nest, gunakan parameter bernama AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID. Teruskan ID eksekusi dengan menambahkan .$ ke nama parameter, dan referensi ID dalam objek konteks dengan $$.Execution.Id. Untuk informasi selengkapnya, lihat Mengakses Obyek Konteks.

{ "Type":"Task", "Resource":"arn:aws:states:::states:startExecution.sync", "Parameters":{ "Input":{ "Comment": "Hello world!", "AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID.$": "$$.Execution.Id" }, "StateMachineArn":"arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld", "Name":"ExecutionName" }, "End":true }

Mesin status yang di-nest mengembalikan hal berikut:

Sumber daya Output
startExecution.sync String
startExecution.sync:2 JSON

Keduanya akan menunggu mesin status yang di-nest selesai, tetapi mengembalikan format Output yang berbeda. Misalnya, jika Anda membuat fungsi Lambda yang mengembalikan objek { "MyKey": "MyValue" }, Anda akan mendapatkan respons berikut:

Untuk startExecution.sync:

{ <other fields> "Output": "{ \"MyKey\": \"MyValue\" }" }

Untuk startExecution.sync:2:

{ <other fields> "Output": { "MyKey": "MyValue" } }

Mengkonfigurasi izin IAM untuk mesin status bersarang

Mesin status induk menentukan apakah mesin status anak telah menyelesaikan eksekusi menggunakan polling dan peristiwa. Polling memerlukan izin untuk states:DescribeExecution sementara peristiwa yang dikirim EventBridge ke Step Functions memerlukan izin untukevents:PutTargets,events:PutRule, dan. events:DescribeRule Jika izin ini hilang dari peran IAM Anda, mungkin ada penundaan sebelum mesin status induk mengetahui penyelesaian eksekusi mesin status anak.

Untuk mesin status yang memanggil StartExecution untuk eksekusi alur kerja bersarang tunggal, gunakan kebijakan IAM yang membatasi izin ke mesin status tersebut.

Untuk informasi selengkapnya, lihat izin IAM untuk Step Functions.