View a markdown version of this page

Création de modèles EventBridge d'événements Amazon - Amazon EventBridge

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.

Création de modèles EventBridge d'événements Amazon

Il est fort probable que vous ne souhaitiez pas traiter tous les événements livrés à un bus ou à une canalisation d'événements donné. Au contraire, vous souhaiterez probablement sélectionner un sous-ensemble de tous les événements organisés, en fonction de la source de l'événement, du type d'événement et des and/or attributs de ces événements.

Pour spécifier les événements à envoyer à une cible, vous devez créer un modèle d'événements. Un modèle d'événement définit les données EventBridge utilisées pour déterminer s'il faut envoyer l'événement à la cible. Si le modèle d'événement correspond à l'événement, EventBridge envoie l'événement à la cible. Les modèles d’événement ont la même structure que les événements auxquels ils correspondent. Soit un modèle d’événement correspond à un événement, soit il n’y correspond pas.

Astuce

Vous pouvez utiliser le EventBridge Sandbox pour tester des modèles d'événements par rapport à des exemples d'événements avant de créer ou de mettre à jour des règles. Pour de plus amples informations, veuillez consulter Tester des modèles d'événements à l'aide de la EventBridge Sandbox.

Par exemple, considérez l'événement suivant d'Amazon EC2 :

{ "version": "0", "id": "6a7e8feb-b491-4cf7-a9f1-bf3703467718", "detail-type": "EC2 Instance State-change Notification", "source": "aws.ec2", "account": "111122223333", "time": "2017-12-22T18:43:48Z", "region": "us-west-1", "resources": [ "arn:aws:ec2:us-west-1:123456789012:instance/i-1234567890abcdef0" ], "detail": { "instance-id": "i-1234567890abcdef0", "state": "terminated" } }

Le modèle d'événement suivant sélectionne tous les événements Amazon EC2. instance-termination Pour ce faire, le modèle d'événement spécifie trois exigences pour correspondre à un événement :

  1. La source de l'événement doit être Amazon EC2.

  2. L'événement doit être une notification de changement d'état Amazon EC2.

  3. L'état de l'instance Amazon EC2 doit être. terminated

{ "source": ["aws.ec2"], "detail-type": ["EC2 Instance State-change Notification"], "detail": { "state": ["terminated"] } }

Notez que dans cet exemple, le modèle d'événement inclut des champs relatifs à l'événement-- source et detail-type --ainsi qu'un champ provenant du corps de l'événement--. state

Important

Dans EventBridge, il est possible de créer des règles susceptibles d'entraîner des frais et des restrictions plus élevés que prévu. Par exemple, vous pouvez créer par inadvertance une règle qui entraîne une boucle infinie, dans laquelle une règle est déclenchée de manière récursive sans fin. Supposons que vous avez créé une règle permettant de détecter que les listes ACL ont été modifiées sur un compartiment Amazon S3 et de déclencher un logiciel pour les modifier afin qu’elles aient l’état souhaité. Si la règle n'est pas correctement écrite, la modification suivante des listes de contrôle d'accès (ACL) déclenche à nouveau la règle, créant ainsi une boucle infinie.

Pour obtenir des conseils sur la façon d’écrire des règles et des modèles d’événements précis afin de réduire au maximum ces résultats inattendus, consultez Bonnes pratiques en matière de règles et Bonnes pratiques.

Modèles d'événements pour les bus dédiés aux événements

Pour les bus d'événements, vous pouvez spécifier un modèle d'événement pour chaque règle que vous créez pour le bus. De cette façon, vous pouvez sélectionner les événements à envoyer à des cibles spécifiques. Les modèles d'événements pour les bus d'événements peuvent correspondre à la source de l'événement, aux métadonnées de l'événement et aux valeurs détaillées de and/or l'événement.

Un événement est comparé au modèle d'événements de chaque règle de bus et envoyé à la cible s'il correspond.

La vidéo suivante explique les principes de base des modèles d'événements pour les bus d'événements :

Modèles d'événements pour EventBridge Pipes

Pour les EventBridge tuyaux, vous pouvez définir des modèles d'événements afin de filtrer les événements de la source du canal que vous souhaitez transmettre au canal cible. Comme chaque canal possède une source d'événement unique, les modèles d'événements des canaux peuvent correspondre aux valeurs and/or détaillées des métadonnées des événements.

Un événement est comparé au modèle d'événements du canal et envoyé à la cible s'il correspond.

Tous les champs d'événements ne peuvent pas être utilisés pour créer des modèles d'événements en chaîne. Pour de plus amples informations, veuillez consulter Filtrage.