

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

# AWS AppSync referensi template pemetaan resolver untuk EventBridge
<a name="resolver-mapping-template-reference-eventbridge"></a>

**catatan**  
Kami sekarang terutama mendukung runtime APPSYNC\$1JS dan dokumentasinya. [Harap pertimbangkan untuk menggunakan runtime APPSYNC\$1JS dan panduannya di sini.](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-reference-js-version.html)

Template pemetaan AWS AppSync resolver yang digunakan dengan sumber EventBridge data memungkinkan Anda mengirim acara khusus ke bus Amazon. EventBridge 

## Meminta template pemetaan
<a name="request-mapping-template"></a>

Templat pemetaan `PutEvents` permintaan memungkinkan Anda mengirim beberapa acara khusus ke bus EventBridge acara. Dokumen pemetaan memiliki struktur sebagai berikut:

```
{
    "version" : "2018-05-29", 
    "operation" : "PutEvents",
    "events" : [{}]
}
```

Berikut ini adalah contoh template pemetaan permintaan untuk EventBridge: 

```
{
    "version": "2018-05-29",
    "operation": "PutEvents",
    "events": [{
        "source": "com.mycompany.myapp",
        "detail": {
            "key1" : "value1",
            "key2" : "value2"
        },
        "detailType": "myDetailType1"
    },
    {
        "source": "com.mycompany.myapp",
        "detail": {
            "key3" : "value3",
            "key4" : "value4"
        },
        "detailType": "myDetailType2",
        "resources" : ["Resource1", "Resource2"],
        "time" : "2023-01-01T00:30:00.000Z"
    }
    
    ]
}
```

## Templat pemetaan respons
<a name="response-mapping-template"></a>

Jika `PutEvents` operasi berhasil, respons dari EventBridge termasuk dalam`$ctx.result`:

```
#if($ctx.error)
  $util.error($ctx.error.message, $ctx.error.type, $ctx.result)
#end
  $util.toJson($ctx.result)
```

Kesalahan yang terjadi saat melakukan `PutEvents` operasi seperti `InternalExceptions` atau `Timeouts` akan muncul di`$ctx.error`. Untuk daftar EventBridge kesalahan umum, lihat [referensi kesalahan EventBridge umum](https://docs.aws.amazon.com/eventbridge/latest/APIReference/CommonErrors.html).

`result`Akan dalam format berikut:

```
{
    "Entries" [
        {
            "ErrorCode" : String,
            "ErrorMessage" : String,
            "EventId" : String
        }
    ],
    "FailedEntryCount" : number
}
```
+ **Entri**

  Hasil acara yang dicerna, baik yang berhasil maupun yang tidak berhasil. Jika konsumsi berhasil, entri memiliki `EventID` di dalamnya. Jika tidak, Anda dapat menggunakan `ErrorCode` dan `ErrorMessage` untuk mengidentifikasi masalah dengan entri.

  Untuk setiap catatan, indeks elemen respons sama dengan indeks dalam array permintaan.
+ **FailedEntryCount**

  Jumlah entri yang gagal. Nilai ini direpresentasikan sebagai bilangan bulat.

Untuk informasi lebih lanjut tentang tanggapan`PutEvents`, lihat [PutEvents](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html#API_PutEvents_ResponseElements).

**Contoh respon sampel 1**

Contoh berikut adalah `PutEvents` operasi dengan dua peristiwa sukses:

```
{
    "Entries" : [ 
        {
            "EventId": "11710aed-b79e-4468-a20b-bb3c0c3b4860"
        }, 
        {
            "EventId": "d804d26a-88db-4b66-9eaf-9a11c708ae82"
        }
    ],
    "FailedEntryCount" : 0
}
```

**Contoh respon sampel 2**

Contoh berikut adalah `PutEvents` operasi dengan tiga peristiwa, dua keberhasilan dan satu gagal:

```
{
    "Entries" : [ 
        {
            "EventId": "11710aed-b79e-4468-a20b-bb3c0c3b4860"
        }, 
        {
            "EventId": "d804d26a-88db-4b66-9eaf-9a11c708ae82"
        },
        {
            "ErrorCode" : "SampleErrorCode",
            "ErrorMessage" : "Sample Error Message"
        }
    ],
    "FailedEntryCount" : 1
}
```

## `PutEvents`bidang
<a name="putevents-field"></a>

`PutEvents`berisi bidang template pemetaan berikut:
+ **Versi**

  Umum untuk semua template pemetaan permintaan, `version` bidang mendefinisikan versi yang digunakan template. Bidang ini wajib diisi. Nilai `2018-05-29` adalah satu-satunya versi yang didukung untuk template EventBridge pemetaan.
+ **Operasi**

  Satu-satunya operasi yang didukung adalah`PutEvents`. Operasi ini memungkinkan Anda untuk menambahkan acara khusus ke bus acara Anda.
+ **Peristiwa**

  Serangkaian acara yang akan ditambahkan ke bus acara. Array ini harus memiliki alokasi 1 - 10 item.

  `Event`Objek adalah objek JSON valid yang memiliki bidang berikut:
  + `"source"`: String yang mendefinisikan sumber acara.
  + `"detail"`: Objek JSON yang dapat Anda gunakan untuk melampirkan informasi tentang acara tersebut. Bidang ini bisa berupa peta kosong (`{ }`).
  + `"detailType`: Sebuah string yang mengidentifikasi jenis acara.
  + `"resources"`: Sebuah array JSON string yang mengidentifikasi sumber daya yang terlibat dalam acara tersebut. Bidang ini bisa berupa array kosong.
  + `"time"`: Stempel waktu acara disediakan sebagai string. Ini harus mengikuti format [RFC3339](https://www.rfc-editor.org/rfc/rfc3339.txt)stempel waktu.

Cuplikan di bawah ini adalah beberapa contoh objek yang valid`Event`:

**Contoh 1**

```
{
    "source" : "source1",
    "detail" : {
        "key1" : [1,2,3,4],
        "key2" : "strval"
    },
    "detailType" : "sampleDetailType",
    "resources" : ["Resouce1", "Resource2"],
    "time" : "2022-01-10T05:00:10Z"
}
```

**Contoh 2**

```
{
    "source" : "source1",
    "detail" : {},
    "detailType" : "sampleDetailType"
}
```

**Contoh 3**

```
{
    "source" : "source1",
    "detail" : {
        "key1" : 1200
    },
    "detailType" : "sampleDetailType",
    "resources" : []
}
```