AWS AppSync JavaScript Resolver-Funktionsreferenz für die EventBridge Datenquelle - AWS AppSync

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

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

Der Request-Handler ermöglicht es Ihnen, mehrere benutzerdefinierte Ereignisse an einen EventBridge Event-Bus zu 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

Wenn der PutEvents Vorgang erfolgreich ist, EventBridge ist die Antwort von enthalten inctx.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 auftretenTimeouts, werden in angezeigtctx.error. Eine Liste der EventBridge häufigsten Fehler finden Sie in der Referenz zu EventBridge häufigen Fehlern.

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 dasEventID. 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.

Beispiel für eine 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

PutEventsenthält die folgenden Felder für Zuordnungsvorlagen:

  • Version

    Das version Feld ist allen Vorlagen für die Anforderungszuweisung 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 istPutEvents. 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, das Sie verwenden können, um Informationen über das Ereignis anzuhängen. Dieses Feld kann eine leere Map sein ({ }).

    • "detailType: Eine Zeichenfolge, die den Ereignistyp identifiziert.

    • "resources": Eine JSON Reihe von Zeichenketten, die Ressourcen identifizieren, die an dem Ereignis beteiligt sind. Dieses Feld kann ein leeres Array sein.

    • "time": Der als Zeichenfolge bereitgestellte Zeitstempel des Ereignisses. Dies sollte dem RFC3339Zeitstempelformat 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" : [] }