AWS AppSync JavaScript référence de fonction de résolution pour la source de EventBridge données - AWS AppSync

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

AWS AppSync JavaScript référence de fonction de résolution pour la source de EventBridge données

La demande et AWS AppSync la réponse de la fonction de résolution utilisées avec la source de EventBridge données vous permettent d'envoyer des événements personnalisés au EventBridge bus Amazon.

Demande

Le gestionnaire de demandes vous permet d'envoyer plusieurs événements personnalisés à un bus d' EventBridge événements :

export function request(ctx) { return { "operation" : "PutEvents", "events" : [{}] } }

La définition de type d'une EventBridge PutEvents demande est la suivante :

type PutEventsRequest = { operation: 'PutEvents' events: { source: string detail: { [key: string]: any } detailType: string resources?: string[] time?: string // RFC3339 Timestamp format }[] }

Réponse

Si l'PutEventsopération est réussie, la réponse du formulaire EventBridge est incluse dans le ctx.result :

export function response(ctx) { if(ctx.error) util.error(ctx.error.message, ctx.error.type, ctx.result) else return ctx.result }

Les erreurs qui se produisent lors de l'exécution d'PutEventsopérations telles que InternalExceptions ou Timeouts apparaîtront dansctx.error. Pour obtenir la liste EventBridge des erreurs courantes, consultez la référence des erreurs EventBridge courantes.

Ils result auront la définition de type suivante :

type PutEventsResult = { Entries: { ErrorCode: string ErrorMessage: string EventId: string }[] FailedEntryCount: number }
  • Entrées

    L'événement ingéré entraîne à la fois un succès et un échec. Si l'ingestion a réussi, l'entrée EventID en contient. Sinon, vous pouvez utiliser le ErrorCode et ErrorMessage pour identifier le problème lié à l'entrée.

    Pour chaque enregistrement, l'index de l'élément de réponse est le même que celui du tableau de requêtes.

  • FailedEntryCount

    Le nombre d'entrées ayant échoué. Cette valeur est représentée par un entier.

Pour plus d'informations sur la réponse dePutEvents, voir PutEvents.

Exemple de réponse 1

L'exemple suivant est une PutEvents opération avec deux événements réussis :

{ "Entries" : [ { "EventId": "11710aed-b79e-4468-a20b-bb3c0c3b4860" }, { "EventId": "d804d26a-88db-4b66-9eaf-9a11c708ae82" } ], "FailedEntryCount" : 0 }

Exemple de réponse 2

L'exemple suivant est une PutEvents opération comportant trois événements, deux réussites et un échec :

{ "Entries" : [ { "EventId": "11710aed-b79e-4468-a20b-bb3c0c3b4860" }, { "EventId": "d804d26a-88db-4b66-9eaf-9a11c708ae82" }, { "ErrorCode" : "SampleErrorCode", "ErrorMessage" : "Sample Error Message" } ], "FailedEntryCount" : 1 }

Champs de PutEvents

PutEventscontient les champs du modèle de mappage suivants :

  • Version

    Commun à tous les modèles de mappage de demandes, le version champ définit la version utilisée par le modèle. Ce champ est obligatoire. La valeur 2018-05-29 est la seule version prise en charge pour les modèles de EventBridge mappage.

  • Opération

    La seule opération prise en charge estPutEvents. Cette opération vous permet d'ajouter des événements personnalisés à votre bus d'événements.

  • Événements

    Un ensemble d'événements qui seront ajoutés au bus d'événements. Ce tableau doit avoir une allocation de 1 à 10 éléments.

    L'objet Event comporte les champs suivants :

    • "source": chaîne qui définit la source de l'événement.

    • "detail": JSON objet que vous pouvez utiliser pour joindre des informations relatives à l'événement. Ce champ peut être une carte vide ({ }).

    • "detailType: chaîne identifiant le type d'événement.

    • "resources": JSON tableau de chaînes identifiant les ressources impliquées dans l'événement. Ce champ peut être un tableau vide.

    • "time": l'horodatage de l'événement fourni sous forme de chaîne. Cela doit suivre le format d'RFC3339horodatage.

Les extraits ci-dessous sont des exemples d'objets valides Event :

Exemple 1

{ "source" : "source1", "detail" : { "key1" : [1,2,3,4], "key2" : "strval" }, "detailType" : "sampleDetailType", "resources" : ["Resouce1", "Resource2"], "time" : "2022-01-10T05:00:10Z" }

Exemple 2

{ "source" : "source1", "detail" : {}, "detailType" : "sampleDetailType" }

Exemple 3

{ "source" : "source1", "detail" : { "key1" : 1200 }, "detailType" : "sampleDetailType", "resources" : [] }