Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Step Functions menyediakan API integrasi layanan untuk mengintegrasikan dengan Amazon EventBridge. Pelajari cara membuat aplikasi berbasis peristiwa dengan mengirimkan peristiwa khusus langsung dari alur kerja Step Functions.
Untuk mempelajari tentang mengintegrasikan dengan AWS layanan di Step Functions, lihat Integrasi layanan danMeneruskan parameter ke API layanan di Step Functions.
Fitur utama dari EventBridge integrasi yang dioptimalkan
-
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 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.
Untuk informasi selengkapnya, lihat:
-
Menambahkan EventBridge acara Amazon dengan PutEvents di Panduan EventBridge Pengguna.
-
Tunggu Callback dengan Task Token dalam Pola Integrasi Layanan.
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
}
catatan
Ada kuota untuk input maksimum atau ukuran data hasil untuk tugas di Step Functions. Ini membatasi Anda untuk 256 KiB 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 dioptimalkan
EventBridge API dan sintaks yang didukung meliputi:
-
-
Parameter yang didukung:
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.
Kebijakan IAM untuk menelepon EventBridge
Contoh templat berikut menunjukkan cara AWS Step Functions menghasilkan kebijakan IAM berdasarkan sumber daya dalam definisi mesin status Anda. Untuk informasi selengkapnya, silakan lihat Bagaimana Step Functions menghasilkan kebijakan IAM untuk layanan terintegrasi dan Temukan pola integrasi layanan di Step Functions.
PutEvents
Sumber daya statis
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"events:PutEvents"
],
"Resource": [
"arn:aws:events:us-east-1:123456789012
:event-bus/stepfunctions-sampleproject-eventbus"
],
"Effect": "Allow"
}
]
}
Sumber daya dinamis
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"events:PutEvents"
],
"Resource": "arn:aws:events:*:*:event-bus/*"
}
]
}