

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# AWS AppSync JavaScript Resolver-Funktionsreferenz für die EventBridge Datenquelle
<a name="resolver-reference-eventbridge-js"></a>

Die mit der EventBridge Datenquelle verwendete AWS AppSync Resolver-Funktion Request and Response ermöglicht es Ihnen, benutzerdefinierte Ereignisse an den EventBridge Amazon-Bus zu senden.

## Anforderung
<a name="request-js"></a>

Mit dem Request-Handler können Sie mehrere benutzerdefinierte Ereignisse an einen EventBridge Event-Bus senden:

```
export function request(ctx) {
  return {
    "operation" : "PutEvents",
    "events" : [{}]
  }
}
```

Eine EventBridge `PutEvents` Anfrage hat die folgende Typdefinition:

```
type PutEventsRequest = {
  operation: 'PutEvents'
  events: {
    source: string
    detail: { [key: string]: any }
    detailType: string
    resources?: string[]
    time?: string // RFC3339 Timestamp format
  }[]
}
```

## Antwort
<a name="response-js"></a>

Wenn der `PutEvents` Vorgang erfolgreich ist, EventBridge ist die Antwort von enthalten in`ctx.result`:

```
export function response(ctx) {
  if(ctx.error)
    util.error(ctx.error.message, ctx.error.type, ctx.result)
  else
    return ctx.result
}
```

Fehler, die bei der Ausführung von `PutEvents` Vorgängen wie `InternalExceptions` oder auftreten`Timeouts`, werden in angezeigt`ctx.error`. Eine Liste der EventBridge häufigsten Fehler finden Sie in der [Referenz zu EventBridge häufigen Fehlern](https://docs.aws.amazon.com/eventbridge/latest/APIReference/CommonErrors.html).

Sie `result` werden die folgende Typdefinition haben:

```
type PutEventsResult = {
  Entries: {
    ErrorCode: string
    ErrorMessage: string
    EventId: string
  }[]
  FailedEntryCount: number
}
```
+ **Einträge**

  Die Ergebnisse des aufgenommenen Ereignisses, sowohl erfolgreich als auch erfolglos. Wenn die Aufnahme erfolgreich war, enthält der Eintrag das`EventID`. Andernfalls können Sie das `ErrorCode` und verwenden, `ErrorMessage` um das Problem mit dem Eintrag zu identifizieren.

  Für jeden Datensatz entspricht der Index des Antwortelements dem Index im Anforderungsarray.
+ **FailedEntryCount**

  Die Anzahl der fehlgeschlagenen Einträge. Dieser Wert wird als Ganzzahl dargestellt.

Weitere Hinweise zur Antwort von `PutEvents` finden Sie unter [PutEvents](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutEvents.html#API_PutEvents_ResponseElements).

**Beispiel für Antwort 1**

Das folgende Beispiel zeigt einen `PutEvents` Vorgang mit zwei erfolgreichen Ereignissen:

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

**Beispiel für eine Antwort 2**

Das folgende Beispiel zeigt einen `PutEvents` Vorgang mit drei Ereignissen, zwei Erfolgen und einem Fehlschlag:

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

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

`PutEvents`enthält die folgenden Felder für Zuordnungsvorlagen:
+ **Version**

  Das `version` Feld ist allen Vorlagen für die Zuordnung von Anfragen gemeinsam und definiert die Version, die die Vorlage verwendet. Dies ist ein Pflichtfeld. Der Wert `2018-05-29` ist die einzige Version, die für die EventBridge Zuordnungsvorlagen unterstützt wird.
+ **Operation**

  Die einzige unterstützte Operation ist`PutEvents`. Mit diesem Vorgang können Sie Ihrem Event-Bus benutzerdefinierte Ereignisse hinzufügen.
+ **-**-Ereignisse

  Eine Reihe von Ereignissen, die dem Event-Bus hinzugefügt werden. Dieses Array sollte eine Zuordnung von 1 bis 10 Elementen haben.

  Das `Event`-Objekt enthält folgende Felder:
  + `"source"`: Eine Zeichenfolge, die die Quelle des Ereignisses definiert.
  + `"detail"`: Ein JSON-Objekt, mit dem Sie Informationen über das Ereignis anhängen können. Dieses Feld kann eine leere Map (`{ }`) sein.
  + `"detailType`: Eine Zeichenfolge, die den Ereignistyp identifiziert.
  + `"resources"`: Ein JSON-Array von Zeichenketten, das die an dem Ereignis beteiligten Ressourcen identifiziert. Dieses Feld kann ein leeres Array sein.
  + `"time"`: Der als Zeichenfolge bereitgestellte Zeitstempel des Ereignisses. Dies sollte dem [RFC3339](https://www.rfc-editor.org/rfc/rfc3339.txt)Zeitstempelformat entsprechen.

Die folgenden Ausschnitte sind einige Beispiele für gültige Objekte: `Event`

**Beispiel 1**

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

**Beispiel 2**

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

**Beispiel 3**

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