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
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
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 das
EventID. Andernfalls können Sie dasErrorCodeund verwenden,ErrorMessageum 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 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
versionFeld ist allen Vorlagen für die Zuordnung von Anfragen gemeinsam und definiert die Version, die die Vorlage verwendet. Dies ist ein Pflichtfeld. Der Wert2018-05-29ist 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 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" : [] }