Panggilan EventBridge dengan Step Functions - AWS Step Functions

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 nol FailedEntryCount maka Task 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:

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:

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.