Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
AWS AppSync riferimento al modello di mappatura del resolver per EventBridge
Nota
Ora supportiamo principalmente il runtime APPSYNC _JS e la relativa documentazione. Valuta la possibilità di utilizzare il runtime APPSYNC _JS e le relative guide qui.
Il modello di mappatura del AWS AppSync resolver utilizzato con l'origine EventBridge dati consente di inviare eventi personalizzati al bus Amazon. EventBridge
Richiedi un modello di mappatura
Il modello di mappatura delle PutEvents
richieste consente di inviare più eventi personalizzati a un EventBridge bus di eventi. Il documento di mappatura ha la seguente struttura:
{ "version" : "2018-05-29", "operation" : "PutEvents", "events" : [{}] }
Di seguito è riportato un esempio di modello di mappatura delle richieste per: 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" } ] }
Modello di mappatura delle risposte
Se l'PutEvents
operazione ha esito positivo, la risposta di EventBridge è inclusa in: $ctx.result
#if($ctx.error) $util.error($ctx.error.message, $ctx.error.type, $ctx.result) #end $util.toJson($ctx.result)
Errori che si verificano durante l'esecuzione di PutEvents
operazioni come InternalExceptions
o Timeouts
che verranno visualizzati in$ctx.error
. Per un elenco degli EventBridge errori più comuni, consulta il riferimento agli errori EventBridge comuni.
result
Sarà nel seguente formato:
{ "Entries" [ { "ErrorCode" : String, "ErrorMessage" : String, "EventId" : String } ], "FailedEntryCount" : number }
-
Iscrizioni
I risultati dell'evento ingerito, sia riuscito che negativo. Se l'ingestione è andata a buon fine, la voce contiene il.
EventID
In caso contrario, è possibile utilizzare il comandoErrorCode
andErrorMessage
per identificare il problema relativo alla voce.Per ogni record, l'indice dell'elemento di risposta è lo stesso dell'indice nell'array di richiesta.
-
FailedEntryCount
Il numero di inserimenti non riusciti. Questo valore è rappresentato come un numero intero.
Per ulteriori informazioni sulla risposta diPutEvents
, vedere PutEvents.
Esempio di risposta 1
L'esempio seguente è un'PutEvents
operazione con due eventi riusciti:
{ "Entries" : [ { "EventId": "11710aed-b79e-4468-a20b-bb3c0c3b4860" }, { "EventId": "d804d26a-88db-4b66-9eaf-9a11c708ae82" } ], "FailedEntryCount" : 0 }
Esempio di risposta di esempio 2
L'esempio seguente è un'PutEvents
operazione con tre eventi, due riusciti e uno negativo:
{ "Entries" : [ { "EventId": "11710aed-b79e-4468-a20b-bb3c0c3b4860" }, { "EventId": "d804d26a-88db-4b66-9eaf-9a11c708ae82" }, { "ErrorCode" : "SampleErrorCode", "ErrorMessage" : "Sample Error Message" } ], "FailedEntryCount" : 1 }
PutEvents
campi
PutEvents
contiene i seguenti campi del modello di mappatura:
-
Versione
Comune a tutti i modelli di mappatura delle richieste, il
version
campo definisce la versione utilizzata dal modello. Questo campo è obbligatorio. Il valore2018-05-29
è l'unica versione supportata per i modelli di EventBridge mappatura. -
Operazioni
L'unica operazione supportata è
PutEvents
. Questa operazione consente di aggiungere eventi personalizzati al bus degli eventi. -
Eventi
Una serie di eventi che verranno aggiunti all'event bus. Questo array dovrebbe avere un'allocazione di 1-10 elementi.
L'
Event
oggetto è un JSON oggetto valido con i seguenti campi:-
"source"
: Una stringa che definisce l'origine dell'evento. -
"detail"
: Un JSON oggetto che è possibile utilizzare per allegare informazioni sull'evento. Questo campo può essere una mappa vuota ({ }
). -
"detailType
: Una stringa che identifica il tipo di evento. -
"resources"
: Una JSON matrice di stringhe che identifica le risorse coinvolte nell'evento. Questo campo può essere un array vuoto. -
"time"
: Il timestamp dell'evento fornito come stringa. Questo dovrebbe seguire il formato del RFC3339timestamp.
-
I frammenti seguenti sono alcuni esempi di oggetti validi: Event
Esempio 1
{ "source" : "source1", "detail" : { "key1" : [1,2,3,4], "key2" : "strval" }, "detailType" : "sampleDetailType", "resources" : ["Resouce1", "Resource2"], "time" : "2022-01-10T05:00:10Z" }
Esempio 2
{ "source" : "source1", "detail" : {}, "detailType" : "sampleDetailType" }
Esempio 3
{ "source" : "source1", "detail" : { "key1" : 1200 }, "detailType" : "sampleDetailType", "resources" : [] }