

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

# Tambahkan EventBridge acara dengan Step Functions
<a name="connect-eventbridge"></a>

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 ](integrate-services.md) dan[Meneruskan parameter ke API layanan di Step Functions](connect-parameters.md).

**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 nol `FailedEntryCount` maka `Task` status gagal dengan kesalahan`EventBridge.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 lebih lanjut, lihat:
+ [Menambahkan EventBridge acara Amazon dengan PutEvents](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-putevents.html) di Panduan EventBridge Pengguna.
+ [Tunggu Callback dengan Task Token](connect-to-resource.md#connect-wait-token) dalam Pola Integrasi Layanan.

Berikut ini mencakup `Task` yang mengirimkan peristiwa kustom:

```
{
  "Type": "Task",
  "Resource": "arn:aws:states:::events:putEvents",
  "Arguments": {
    "Entries": [
      {
        "Detail": {
          "Message": "MyMessage"
        },
        "DetailType": "MyDetailType",
        "EventBusName": "MyEventBus",
        "Source": "my.source"
      }
    ]
  },
  "End": true
}
```

**Kuota untuk input atau data hasil**  
Saat mengirim atau menerima data antar layanan, input atau hasil maksimum untuk suatu tugas adalah 256 KiB data sebagai string yang dikodekan UTF-8. Lihat [Kuota yang berkaitan dengan eksekusi mesin status](service-quotas.md#service-limits-state-machine-executions).

## EventBridge API yang dioptimalkan
<a name="connect-eventbridge-apis"></a>

 EventBridge API dan sintaks yang didukung meliputi:
+ [https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html)

## Penanganan kesalahan
<a name="connect-eventbridge-error"></a>

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
<a name="eventbridge-iam"></a>

Contoh templat berikut menunjukkan cara AWS Step Functions menghasilkan kebijakan IAM berdasarkan sumber daya dalam definisi mesin status Anda. Untuk informasi selengkapnya, lihat [Bagaimana Step Functions menghasilkan kebijakan IAM untuk layanan terintegrasi](service-integration-iam-templates.md) dan [Temukan pola integrasi layanan di Step Functions](connect-to-resource.md).

### `PutEvents`
<a name="eventbridge-iam-listconnections"></a>

*Sumber daya statis*

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "events:PutEvents"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:123456789012:event-bus/my-project-eventbus"
            ],
            "Effect": "Allow"
        }
    ]
}
```

*Sumber daya dinamis*

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "events:PutEvents"
            ],
            "Resource": "arn:aws:events:*:*:event-bus/*"
        }
    ]
}
```