AWS AppSync riferimento al modello di mappatura del resolver per EventBridge - AWS AppSync

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'PutEventsoperazione 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.

resultSarà 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 comando ErrorCode and ErrorMessage 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'PutEventsoperazione 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'PutEventsoperazione 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

PutEventscontiene 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 valore 2018-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'Eventoggetto è 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" : [] }