

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 Referenz zur Resolver-Mapping-Vorlage für EventBridge
<a name="resolver-mapping-template-reference-eventbridge"></a>

**Anmerkung**  
Wir unterstützen jetzt hauptsächlich die APPSYNC\$1JS-Laufzeit und ihre Dokumentation. [Bitte erwägen Sie, die APPSYNC\$1JS-Laufzeit und ihre Anleitungen hier zu verwenden.](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-reference-js-version.html)

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

## Vorlage für die Zuordnung anfordern
<a name="request-mapping-template"></a>

Mit der Vorlage für die `PutEvents` Anforderungszuweisung können Sie mehrere benutzerdefinierte Ereignisse an einen EventBridge Event-Bus senden. Das -Zuweisungsdokument weist die folgende Struktur auf:

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

Im Folgenden finden Sie ein Beispiel für eine Vorlage zur Anforderungszuweisung für 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"
    }
    
    ]
}
```

## Vorlage für die Zuordnung von Antworten
<a name="response-mapping-template"></a>

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

```
#if($ctx.error)
  $util.error($ctx.error.message, $ctx.error.type, $ctx.result)
#end
  $util.toJson($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).

`result`Sie werden das folgende Format haben:

```
{
    "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 ist ein gültiges JSON-Objekt mit den folgenden Feldern:
  + `"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" : []
}
```