Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Panggilan EventBridge dengan Step Functions
Step Functions dapat mengontrol AWS layanan tertentu langsung dari Amazon States Language (ASL). Untuk mempelajari selengkapnya, lihat Bekerja dengan layanan yang lain dan Meneruskan parameter ke API layanan.
Bagaimana EventBridge integrasi yang Dioptimalkan berbeda dari integrasi EventBridge AWS SDK
-
Eksekusi ARN dan ARN mesin negara secara otomatis ditambahkan ke bidang masing-masing.
Resources
PutEventsRequestEntry
-
Jika respons dari
PutEvents
berisi bukan nolFailedEntryCount
makaTask
status gagal dengan kesalahanEventBridge.FailedEntry
.
Untuk informasi tentang cara mengonfigurasi IAM izin saat menggunakan Step Functions dengan AWS layanan lain, lihatKebijakan IAM untuk layanan terintegrasi.
Step Functions menyediakan API integrasi layanan untuk mengintegrasikan dengan Amazon EventBridge. Hal ini memungkinkan Anda membangun aplikasi yang didorong peristiwa dengan mengirimkan peristiwa kustom langsung dari alur kerja Step Functions.
Untuk menggunakan PutEvents
API, Anda harus membuat EventBridge aturan di akun Anda yang cocok dengan pola spesifik dari peristiwa yang akan Anda kirim. Misalnya, Anda dapat:
-
Buat fungsi Lambda di akun Anda yang menerima dan mencetak peristiwa yang cocok dengan aturan. EventBridge
-
Buat EventBridge aturan di akun Anda di bus acara default yang cocok dengan pola peristiwa tertentu dan menargetkan fungsi Lambda.
Lihat informasi yang lebih lengkap di:
-
Menambahkan EventBridge acara Amazon dengan PutEvents di Panduan EventBridge Pengguna.
-
Tunggu Panggilan Balik dengan Token Tugas dalam Pola Integrasi Layanan.
catatan
Ada kuota untuk input maksimum atau ukuran data hasil untuk tugas di Step Functions. Ini membatasi Anda untuk 256 KB data sebagai string UTF-8 yang dikodekan ketika Anda mengirim ke, atau menerima data dari, layanan lain. Lihat Kuota yang berkaitan dengan eksekusi mesin status.
EventBridge API yang didukung
EventBridge API dan sintaks yang didukung meliputi:
-
-
Parameter yang didukung:
Berikut ini mencakup Task
yang mengirimkan peristiwa kustom:
{
"Type": "Task",
"Resource": "arn:aws:states:::events:putEvents",
"Parameters": {
"Entries": [
{
"Detail": {
"Message": "MyMessage"
},
"DetailType": "MyDetailType",
"EventBusName": "MyEventBus",
"Source": "my.source"
}
]
},
"End": true
}
Penanganan kesalahan
API PutEvents
menerima array entri sebagai input, kemudian mengembalikan array entri hasil. Selama tindakan PutEvents
berhasil, PutEvents
akan mengembalikan respons HTTP 200, bahkan jika satu atau lebih entri gagal. PutEvents
mengembalikan jumlah entri gagal dalam bidang FailedEntryCount
.
Step Functions memeriksa apakah FailedEntryCount
lebih dari nol. Jika lebih dari nol, Step Functions menggagalkan status dengan kesalahan EventBridge.FailedEntry
. Hal ini memungkinkan Anda menggunakan penanganan kesalahan bawaan dari Step Functions pada status tugas untuk menangkap atau mencoba lagi ketika ada entri gagal, daripada mengharuskan menggunakan status tambahan untuk menganalisis FailedEntryCount
dari respons.
catatan
Jika Anda telah menerapkan idempotensi dan dapat dengan aman mencoba lagi pada semua entri, Anda dapat menggunakan logika coba lagi Step Functions. Step Functions tidak menghapus entri berhasil dari array input PutEvents
sebelum mencoba lagi. Sebaliknya, itu mencoba ulang dengan array asli entri.