Surveillance des SES événements à l'aide d'Amazon EventBridge - Amazon Simple Email Service

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.

Surveillance des SES événements à l'aide d'Amazon EventBridge

EventBridge est un service sans serveur qui utilise des événements pour connecter les composants de l'application entre eux, ce qui vous permet de créer plus facilement des applications évolutives pilotées par des événements. Une architecture pilotée par les événements est un style de création de systèmes logiciels faiblement couplés qui fonctionnent ensemble en émettant des événements et en y répondant. Les événements sont des messages JSON formatés qui représentent généralement une modification d'une ressource ou d'un environnement, ou un autre événement de gestion.

Certaines SES fonctionnalités génèrent et envoient les événements que vous définissez lors de la création d'une destination d'événement au bus d'événements EventBridge par défaut. Un bus d'événements est un routeur qui reçoit des événements et les transmet à zéro ou plusieurs destinations, ou cibles. Les règles que vous associez au bus d'événements évaluent les événements au fur et à mesure qu'ils arrivent. Chaque règle vérifie si un événement correspond au modèle de la règle. Si l'événement correspond, EventBridge envoie l'événement aux cibles spécifiées.

SESenvoie des événements en EventBridge cas de changement d'état ou de mise à jour de statut d'une fonctionnalité. Vous pouvez utiliser des EventBridge règles pour acheminer les événements vers les cibles que vous avez définies. Ces événements seront transmis dans la mesure du possible, et il se peut qu'ils ne soient pas transmis dans l'ordre.

SESévénements

Les événements suivants sont générés par les SES fonctionnalités et envoyés au bus d'événements par défaut dans EventBridge. Pour plus d'informations, y compris les données détaillées pour chaque type d'événement, consultezSESréférence de schéma d'événements.

Événements destinés aux conseillers de Virtual Deliverability Manager
Type d’événement Description

Statut de recommandation du conseiller ouvert

Un événement généré chaque fois qu'une nouvelle recommandation est ouverte dans le conseiller du gestionnaire de délivrabilité virtuel.

Statut de recommandation du conseiller résolu

Un événement généré chaque fois qu'une recommandation est résolue dans le conseiller du gestionnaire de délivrabilité virtuel.

SESévénements d'envoi d'e-mails
Type d’événement Description

E-mail renvoyé

Un hard bounce indiquant que le serveur de messagerie du destinataire a définitivement rejeté l'e-mail. (Les soft bounces ne sont inclus que lorsque l'e-mail SES ne parvient pas à être livré après une nouvelle tentative pendant un certain temps.)

E-mail cliqué

Le destinataire a cliqué sur un ou plusieurs liens contenus dans l'e-mail.

Réception d'une plainte par e-mail

L'e-mail a bien été envoyé au serveur de messagerie du destinataire, mais celui-ci l'a marqué comme spam.

Livraison d'e-mail

SESa correctement envoyé l'e-mail au serveur de messagerie du destinataire.

Livraison du courrier électronique retardée

L'e-mail n'a pas pu être remis au serveur de messagerie du destinataire en raison d'un problème temporaire. Des retards de livraison peuvent se produire, par exemple lorsque la boîte de réception du destinataire est pleine ou lorsque le serveur de messagerie de réception rencontre un problème transitoire.

E-mail ouvert

Le destinataire a reçu le message et l'a ouvert dans son client de messagerie.

E-mail refusé

SESa accepté l'e-mail, mais a déterminé qu'il contenait un virus et n'a pas tenté de le transmettre au serveur de messagerie du destinataire.

Échec du rendu des e-mails

L'e-mail n'a pas été envoyé en raison d'un problème de rendu du modèle. Ce type d'événement peut se produire lorsqu'il manque des données du modèle ou lorsqu'il n'y a pas concordance entre les paramètres du modèle et les données. (Ce type d'événement se produit uniquement lorsque vous envoyez un e-mail à l'aide SendBulkTemplatedEmailAPIdes opérations SendTemplatedEmailor.)

E-mail envoyé

La demande d'envoi a réussi et SES tentera de remettre le message au serveur de messagerie du destinataire. (Si une suppression globale ou au niveau du compte est utilisée, elle SES sera toujours considérée comme un envoi, mais la livraison sera supprimée.)

Adresse e-mail souscrite

L'e-mail a été envoyé avec succès, mais le destinataire a mis à jour les préférences d'abonnement en cliquant List-Unsubscribe dans l'en-tête de l'e-mail ou sur le Unsubscribe lien dans le pied de page.

SESréférence de schéma d'événements

Tous les événements issus AWS des services ont un ensemble commun de champs contenant des métadonnées relatives à l'événement, telles que le AWS service à l'origine de l'événement, l'heure à laquelle l'événement a été généré, le compte et la région dans lesquels l'événement a eu lieu, etc. Pour les définitions de ces champs généraux, voir la référence relative à la structure des événements dans le guide de EventBridge l'utilisateur.

En outre, chaque événement possède un champ detail qui contient des données spécifiques à cet événement en particulier. La référence ci-dessous définit les champs de détail des différents SES événements.

Lorsque vous l'utilisez EventBridge pour sélectionner et gérer SES des événements, il est utile de garder à l'esprit les points suivants :

  • Le source champ pour tous les événements de SES est défini suraws.ses.

  • Le champ detail-type indique le type d'événement. Consultez le tableau des types d'événements dansSESévénements.

  • Le champ detail contient les données spécifiques à cet événement en particulier.

    Pour certains types d'événements, tels que ceux de Virtual Deliverability Manager, le champ de détail est une chaîne de données plutôt simpliste remplie à partir d'un ensemble fini de valeurs statiques. À l'inverse, le champ de détail des événements d'envoi d'e-mails est plus complexe car il peut être composé de nombreux sous-champs de détail combinant des valeurs statiques et dynamiques, telles que l'horodatage de l'envoi d'un e-mail, l'adresse du destinataire et de nombreux autres attributs du courrier électronique.

Schéma de statut du conseiller du gestionnaire de délivrabilité virtuel

La référence de schéma suivante définit les champs spécifiques aux événements relatifs au statut des conseillers de Virtual Deliverability Manager.

Les définitions des champs généraux qui apparaissent dans tous les schémas d'événements (tels queversion,, idaccount, et autres) se trouvent dans la section Référence de la structure des événements dans le guide de l'EventBridge utilisateur. Les detail-type champs source et sont inclus dans la référence ci-dessous car ils contiennent des valeurs SES spécifiques aux SES événements.

source

Identifie le service qui a généré l'événement. Pour les SES événements, cette valeur estaws.ses.

detail-type

Identifie le type d'événement.

Les valeurs de ce champ sont répertoriées dans le tableau des événements du conseiller Virtual Deliverability Manager dansSESévénements.

detail

JSONObjet contenant des informations sur l'événement. Le service qui génère l'événement détermine le contenu de ce champ.

Les valeurs de ce champ peuvent être les suivantes :

  • DKIM verification is not enabled.

  • DKIM verification has failed.

  • DKIM signing key length is below 2048 bits.

  • DMARC configuration was not found.

  • DMARC configuration could not be parsed.

  • DKIM record was not found.

  • DKIM record is not aligned.

  • MAIL FROM record is not aligned.

  • SPF record was not found.

  • SPF record for Amazon SES was not found.

  • SPF all qualifier is missing.

  • An SPF configuration issue was found.

  • BIMI record not found or configured without default selector.

  • BIMI has malformed TXT record.

Exemple : événement de statut du conseiller du gestionnaire de délivrabilité virtuel

Voici un exemple d'événement de statut du conseiller du gestionnaire de délivrabilité virtuel pour ce type d'événement Advisor Recommendation Status Open. La valeur de l'événement détaillé dans cet exemple estSPF record was not found..

{ "version": "0", "id": "abcd9999-ef33-0123-90ab-abcdef666666", "detail-type": "Advisor Recommendation Status Open", "source": "aws.ses", "account": "012345678901", "time": "2023-11-15T17:00:59Z", "region": "us-east-1", "resources": [ "arn:aws:ses:us-east-1:012345678901:identity/vdm.events-publishing.cajun.syster-games.example.com" ], "detail": { "version": "1.0.0", "data": "SPF record was not found." } }

SESschéma d'état d'envoi d'e-mails

La référence de schéma suivante définit les champs spécifiques aux événements de statut d'envoi d'SESe-mails.

Les définitions des champs généraux qui apparaissent dans tous les schémas d'événements (tels queversion,, idaccount, et autres) se trouvent dans la section Référence de la structure des événements dans le guide de l'EventBridge utilisateur. Les detail-type champs source et sont inclus dans la référence ci-dessous car ils contiennent des valeurs SES spécifiques aux SES événements.

source

Identifie le service qui a généré l'événement. Pour les SES événements, cette valeur estaws.ses.

detail-type

Identifie le type d'événement.

Les valeurs de ce champ sont répertoriées dans le tableau des événements d'envoi d'SESe-mails dansSESévénements.

detail

JSONObjet contenant des informations sur l'événement. Le service qui génère l'événement détermine le contenu de ce champ.

Toutes les valeurs possibles pour ce champ ne peuvent pas être répertoriées ici car elles sont composées de valeurs statiques et dynamiques générées par chaque e-mail unique envoyé à un moment donné. Cependant, un exemple est fourni pour vous donner une idée du type de données que ce champ peut contenir. Des exemples de données détaillées pour tous les types d'événements d'envoi d'e-mails peuvent être trouvés à l'aide de la EventBridge Sandbox, voirSpécifiez un exemple d'événement dans EventBridge.

Exemple de données détaillées générées pour l'événement d'envoi d'SESe-mail Email Rendering Failed :

..., "detail": { "eventType": "Rendering Failure", "mail": { "timestamp": "2018-01-22T18:43:06.197Z", "source": "sender@example.com", "sourceArn": "arn:aws:ses:us-east-1:123456789012:identity/sender@example.com", "sendingAccountId": "123456789012", "messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000", "destination": ["recipient@example.com"], "headersTruncated": false, "tags": { "ses:configuration-set": ["ConfigSet"] } }, "failure": { "errorMessage": "Attribute 'attributeName' is not present in the rendering data.", "templateName": "MyTemplate" } }
Exemple : événement relatif au statut d'envoi d'un e-mail

Voici un exemple de l'événement complet relatif au statut d'envoi d'un e-mail pour le type d'événementEmail Rendering Failed. Dans cet exemple, la valeur détaillée de l'événement est une combinaison de valeurs statiques et dynamiques basée sur l'événement d'envoi d'un e-mail spécifique.

{ "version": "0", "id": "12a18625-3328-fafd-2809-a5e16004f112", "detail-type": "Email Rendering Failed", "source": "aws.ses", "account": "123456789012", "time": "2023-07-17T16:48:05Z", "region": "us-east-1", "resources": ["arn:aws:ses:us-east-1:123456789012:identity/example.com"], "detail": { "eventType": "Rendering Failure", "mail": { "timestamp": "2018-01-22T18:43:06.197Z", "source": "sender@example.com", "sourceArn": "arn:aws:ses:us-east-1:123456789012:identity/sender@example.com", "sendingAccountId": "123456789012", "messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000", "destination": ["recipient@example.com"], "headersTruncated": false, "tags": { "ses:configuration-set": ["ConfigSet"] } }, "failure": { "errorMessage": "Attribute 'attributeName' is not present in the rendering data.", "templateName": "MyTemplate" } } }

Utilisation EventBridge avec des SES événements

Par défaut, SES envoie les événements au bus d'événements EventBridge par défaut. Vous pouvez créer des règles sur le bus d'événements par défaut afin d'identifier des événements spécifiques EventBridge à envoyer à une ou plusieurs cibles spécifiées. Chaque règle contient un modèle d'événement qui permet EventBridge de faire correspondre les événements lorsqu'ils arrivent sur le bus d'événements. Si un événement correspond au modèle d'événement d'une règle donnée, EventBridge envoie l'événement à la cible spécifiée dans la règle.

Dans EventBridge, la définition d'un modèle d'événement fait généralement partie du processus plus large de création d'une nouvelle règle ou de modification d'une règle existante. Pour savoir comment créer des EventBridge règles, consultez la section Création de EventBridge règles Amazon qui réagissent aux événements dans le Guide de EventBridge l'utilisateur.

À l'aide de la fonctionnalité Sandbox EventBridge, vous pouvez définir rapidement un modèle d'événement et utiliser un exemple d'événement pour confirmer que le modèle correspond aux événements souhaités, sans avoir à créer ou à modifier une règle au préalable. Pour obtenir des instructions détaillées sur l'utilisation du Sandbox, voir Tester un modèle d'événement à l'aide du EventBridge Sandbox dans le Guide de l'EventBridge utilisateur.

Spécifiez un SES exemple d'événement dans le EventBridge Sandbox

Vous pouvez sélectionner des exemples d'SESévénements afin de les utiliser pour tester les modèles d'événements que vous créez.

Pour spécifier un SES exemple d'événement dans le EventBridge Sandbox
  1. Ouvrez la EventBridge console Amazon à l'adresse https://console.aws.amazon.com/events/.

  2. Dans le volet de navigation, choisissez Ressources pour développeurs, puis sélectionnez Environnement de test (sandbox), et sur la page Environnement de test (sandbox), choisissez l'onglet Modèle d'événement.

  3. Dans Source de l'événement, sélectionnez AWS événements ou événements EventBridge partenaires.

  4. Dans la section Exemple d'événement, pour Exemple de type d'événement, sélectionnez Événements AWS .

  5. Pour Exemples d'événements, faites défiler l'écran vers le bas, SESpuis sélectionnez l'SESévénement souhaité.

    EventBridge affiche un exemple d'événement, ainsi que toutes ses données détaillées, pour le type d'événement.

    Vous pouvez ensuite utiliser cet événement pour tester le modèle d'événement que vous créez dans la section Modèle d'événement, ou l'utiliser comme base pour créer vos propres exemples d'événements pour les tests de modèles décrits dans la section suivante.

Création et test de modèles d'événements pour les SES événements

Une fois que vous avez sélectionné un exemple d'événement, comme expliqué dans la section précédente, vous pouvez créer un modèle d'événement et utiliser l'exemple d'événement pour vous assurer qu'il correspond aux événements souhaités.

Pour créer et tester un modèle d'événement correspondant SES aux événements du EventBridge Sandbox
  1. Ouvrez la EventBridge console Amazon à l'adresse https://console.aws.amazon.com/events/.

  2. Dans le volet de navigation, choisissez Ressources pour développeurs, puis sélectionnez Environnement de test (sandbox), et sur la page Environnement de test (sandbox), choisissez l'onglet Modèle d'événement.

  3. Dans Source de l'événement, choisissez AWS des événements ou des événements EventBridge partenaires, puis sélectionnez l'exemple d'événement que vous souhaitez tester, comme expliqué dans la section précédente.

  4. Faites défiler l'écran jusqu'à Méthode de création, puis choisissez Utiliser le formulaire de modèle.

  5. Dans la section Modèle d'événement, pour Source d'événement, choisissez Services AWS .

  6. Sous AWS Service, sélectionnez SES.

  7. Dans Type d'événement, sélectionnez le type d'SESévénement auquel vous souhaitez faire correspondre.

    EventBridge affiche le modèle d'événement minimal, composé de source et de detail-type champs, qui correspond à l'SESévénement sélectionné.

    Dans les deux exemples, le premier schéma d'événements correspond à tous les Advisor Recommendation Status Resolved événements, et dans le second, à tous les Email Bounced événements :

    { "source": ["aws.ses"], "detail-type": ["Advisor Recommendation Status Resolved"] }
    { "source": ["aws.ses"], "detail-type": ["Email Bounced"] }
  8. Pour modifier le modèle d'événement, sélectionnez Modifier le modèle et apportez vos modifications dans l'JSONéditeur.

    Vous pouvez également faire correspondre les valeurs d'un ou de plusieurs champs de données détaillés. Cela inclut la spécification de plusieurs valeurs possibles pour une valeur de champ.

    Dans l'exemple suivant, le champ détaillé a été ajouté au modèle d'événement minimal généré avec la valeur du data champ spécifiée DKIM record was not found afin de trouver tous les événements du conseiller Virtual Deliverability Manager ayant la même valeur de détail :

    { "source": ["aws.ses"], "detail-type": ["Advisor Recommendation Status Resolved"], "detail": { "data": ["DKIM record was not found."] } }

    Dans cet exemple, des sous-champs détaillés ont été ajoutés pour signaler les événements générés par tous les e-mails envoyés par noreply@example.com le 05/08/2021 qui ont été renvoyés. (La correspondance des préfixes est utilisée ici dans le cadre du filtrage du contenu. ) :

    { "source": ["aws.ses"], "detail-type": ["Email Bounced"], "detail": { "mail": { "timestamp": [{ "prefix": "2024-08-05" }], "source": ["noreply@example.com"] } } }

    Il est important que vous lisiez les modèles d'événements dans le guide de EventBridge l'utilisateur, qui explique que la valeur du modèle d'événement que vous entrez dans l'JSONéditeur doit être entourée de crochets [...] car elle est considérée comme un tableau. Ces informations, ainsi que d'autres informations sur la manière de créer des modèles d'événements avancés, sont également fournies.

  9. Pour vérifier si votre modèle d'événement correspond à l'exemple d'événement que vous avez spécifié dans le volet Exemple d'événement ci-dessus, sélectionnez Tester le modèle. S'il correspond, une bannière verte en bas de l'JSONéditeur affichera « Exemple d'événement correspondant au modèle d'événement ».

  10. Pour résoudre les erreurs après avoir sélectionné le modèle de test :

    • S'il y a des erreurs JSON associées, le message en indiquera la raison, par exemple : « Le modèle d'événement n'est pas valide. Raison : « data » doit être un objet ou un tableau à la ligne : 5, à la colonne : 14". Pour y remédier, placez la valeur de la ligne 5 entre crochets[...].

    • En cas de divergence entre les valeurs de l'événement Sample et celles de votre modèle d'événement, le message sera le suivant : « L'événement de l'échantillon ne correspond pas au modèle d'événement ». Cela signifie qu'une ou plusieurs valeurs que vous souhaitez tester sont différentes des valeurs d'exemple générées par le générateur d'événements Sample. Pour y remédier, passez aux étapes restantes.

  11. Pour modifier les valeurs d'échantillon dans l'événement Sample afin de tester avec succès votre modèle d'événement, dans le volet Exemple d'événement, sélectionnez Copier sous l'JSONéditeur.

  12. Sélectionnez le bouton radio à côté de Enter my own pour le type d'événement Sample au-dessus de l'éditeur.

  13. Collez l'exemple d'événement dans l'JSONéditeur, et pour tout champ que vous utilisez dans votre modèle d'événement, remplacez la valeur de ce même champ pour qu'elle corresponde à la valeur que vous avez spécifiée dans votre modèle d'événement.

  14. Revenez au volet Modèle d'événement et sélectionnez à nouveau Modèle de test. Si toutes les valeurs ont été saisies correctement et correspondent, une bannière verte s'affichera en bas de l'JSONéditeur, intitulée « Exemple d'événement correspondant au modèle d'événement ».

EventBridge Ressources supplémentaires

Consultez les rubriques suivantes du guide de l' EventBridge utilisateur Amazon pour plus d'informations sur le traitement et la gestion des événements. EventBridge

  • Pour obtenir des informations détaillées sur le fonctionnement des bus d'événements, consultez Amazon EventBridge Event Bus.

  • Pour plus d'informations sur la structure des événements, consultez Événements (français non garanti)

  • Pour plus d'informations sur la création de modèles d'événements EventBridge à utiliser lors de la mise en correspondance d'événements avec des règles, voir Modèles d'événements

  • Pour plus d'informations sur la création de règles pour spécifier quels événements EventBridge sont traités, voir Règles

  • Pour plus d'informations sur la manière de spécifier les services ou autres destinations EventBridge auxquels les événements correspondants sont envoyés, voir Cibles