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.
Pour commencer : créer une règle de bus EventBridge d'événements Amazon
Pour nous familiariser avec EventBridge les règles et leurs fonctionnalités, nous allons utiliser un AWS CloudFormation modèle pour configurer une règle de bus d'événements et les composants associés, notamment une source d'événement, un modèle d'événement et une cible. Nous pourrons ensuite explorer le fonctionnement des règles pour sélectionner les événements que vous souhaitez.
Le modèle crée une règle sur le bus d'événements par défaut. Cette règle utilise un modèle d'événement pour filtrer les événements provenant d'un compartiment Amazon S3 spécifique. La règle envoie les événements correspondants à la cible spécifiée, à savoir une rubrique Amazon SNS. Chaque fois qu'un objet est créé dans le bucket, la règle envoie une notification au sujet, qui envoie ensuite un e-mail à l'adresse e-mail que vous avez spécifiée.
Les ressources déployées sont les suivantes :
Un compartiment Amazon S3 dans lequel les EventBridge notifications sont activées pour servir de source d'événements.
Une rubrique Amazon SNS et un abonnement par e-mail comme cible pour les notifications.
Rôle d'exécution qui accorde EventBridge les autorisations nécessaires pour publier sur la rubrique Amazon SNS.
La règle elle-même, qui :
Définit un modèle d'événement qui correspond uniquement aux
Object Created
événements du compartiment Amazon S3 spécifique.Spécifie la rubrique Amazon SNS en tant que cible destinée à diffuser les événements EventBridge correspondants.
Pour obtenir des informations techniques spécifiques sur le modèle, consultezDétails du modèle.
Avant de commencer
Pour recevoir des événements Amazon S3 EventBridge, vous devez les activer EventBridge dans Amazon S3. Cette rubrique suppose que EventBridge c'est activé. Pour plus d'informations, consultez la section Activation EventBridge dans le guide de l'utilisateur Amazon S3.
Création de la règle à l'aide de CloudFormation
Pour créer la règle et ses ressources associées, nous allons créer un CloudFormation modèle et l'utiliser pour créer une pile contenant un exemple de règle, avec la source et la cible.
Important
Les ressources Amazon utilisées vous seront facturées si vous créez une pile à partir de ce modèle.
Créez d'abord le CloudFormation modèle.
Dans la Modèle section, cliquez sur l'icône de copie dans l'onglet JSON ou YAML pour copier le contenu du modèle.
Collez le contenu du modèle dans un nouveau fichier.
Enregistrez le fichier au niveau local.
Ensuite, utilisez le modèle que vous avez enregistré pour approvisionner une CloudFormation pile.
Créez la pile à l'aide de CloudFormation (console)
Ouvrez la CloudFormation console à l'adresse https://console.aws.amazon.com/cloudformation/
. Sur la page Stacks, dans le menu Créer une pile, choisissez avec de nouvelles ressources (standard).
Spécifiez le modèle :
Sous Prérequis, choisissez Choisir un modèle existant.
Sous Spécifier le modèle, choisissez Télécharger un fichier modèle.
Choisissez Choisir un fichier, naviguez jusqu'au fichier modèle, puis choisissez-le.
Choisissez Suivant.
Spécifiez les détails de la pile :
Entrez le nom de la pile.
Pour les paramètres, acceptez les valeurs par défaut pour BucketNameSNSTopicDisplayName,, SNSTopicNom et RuleName, ou entrez les vôtres.
Pour EmailAddress, entrez une adresse e-mail valide à laquelle vous souhaitez recevoir des notifications.
Choisissez Suivant.
Configurez les options de pile :
Sous Options d'échec de la pile, choisissez Supprimer toutes les ressources nouvellement créées.
Note
Le choix de cette option vous évite d'être facturé pour des ressources dont la politique de suppression indique qu'elles doivent être conservées même en cas d'échec de la création de la pile. Pour plus d'informations, consultez la section
DeletionPolicy
attribut dans le guide de CloudFormation l'utilisateur.Acceptez toutes les autres valeurs par défaut.
Sous Fonctionnalités, cochez la case pour confirmer que des ressources IAM CloudFormation peuvent être créées dans votre compte.
Choisissez Suivant.
Vérifiez les détails de la pile et choisissez Soumettre.
Créez la pile en utilisant CloudFormation (AWS CLI)
Vous pouvez également utiliser le AWS CLI pour créer la pile.
-
Utilisez la commande
create-stack
.Acceptez les valeurs des paramètres du modèle par défaut, en spécifiant le nom de la pile et votre adresse e-mail. Utilisez le
template-body
paramètre pour transmettre le contenu du modèle outemplate-url
pour spécifier l'emplacement de l'URL.aws cloudformation create-stack \ --stack-name
eventbridge-rule-tutorial
\ --template-bodytemplate-contents
\ --parameters ParameterKey=EmailAddress,ParameterValue=your.email@example.com
\ --capabilities CAPABILITY_IAMRemplacez la ou les valeurs par défaut d'un ou de plusieurs paramètres du modèle. Par exemple :
aws cloudformation create-stack \ --stack-name
eventbridge-rule-tutorial
\ ----template-bodytemplate-contents
\ --parameters \ ParameterKey=EmailAddress,ParameterValue=your.email@example.com
\ ParameterKey=BucketName,ParameterValue=my-custom-bucket-name
\ ParameterKey=RuleName,ParameterValue=my-custom-rule-name
\ --capabilities CAPABILITY_IAM
CloudFormation crée la pile. Une fois la création de la pile terminée, les ressources de la pile sont prêtes à être utilisées. Vous pouvez utiliser l'onglet Ressources de la page détaillée de la pile pour afficher les ressources mises en service dans votre compte.
Une fois la pile créée, vous recevrez un e-mail de confirmation d'abonnement à l'adresse que vous avez fournie. Vous devez confirmer cet abonnement pour recevoir des notifications.
Exploration des fonctionnalités des règles
Une fois la règle créée, vous pouvez utiliser la EventBridge console pour observer le fonctionnement de la règle et tester la livraison des événements.
Vous voulez ouvrir la EventBridge console à la https://console.aws.amazon.com/events/maison ? #/règles
. -
Choisissez la règle que vous avez créée.
Sur la page détaillée de la règle, la section Détails de la règle affiche des informations sur la règle, notamment son modèle d'événements et ses cibles.
Examen du schéma des événements
Avant de tester le fonctionnement de la règle, examinons le modèle d'événements que nous avons spécifié pour contrôler les événements envoyés à la cible. La règle n'enverra à la cible que les événements correspondant aux critères du modèle. Dans ce cas, nous voulons uniquement l'événement généré par Amazon S3 lorsqu'un objet est créé dans notre compartiment spécifique.
Sur la page détaillée de la règle, sous Modèle d'événement, vous pouvez voir que le modèle d'événement sélectionne uniquement les événements où :
La source est le service Amazon S3 (
aws.s3
)Le type de détail est
Object Created
Le nom du bucket correspond au nom du bucket que nous avons créé
{ "source": ["aws.s3"], "detail-type": ["Object Created"], "detail": { "bucket": { "name": ["
eventbridge-rule-example-source
"] } } }
Envoi d'événements par le biais de la règle
Nous allons ensuite générer des événements dans la source d'événements pour vérifier que la correspondance des règles et la diffusion fonctionnent correctement. Pour ce faire, nous allons télécharger un objet dans le compartiment S3 que nous avons spécifié comme source d'événement.
Ouvrez la console Amazon S3 à l'adresse https://console.aws.amazon.com/s3/
. Dans la liste des compartiments, choisissez le compartiment que vous avez créé avec le modèle (nom par défaut :
eventbridge-rule-example-source
).Choisissez Charger.
-
Téléchargez un fichier de test pour générer un
Object Created
événement :Choisissez Ajouter des fichiers et sélectionnez un fichier sur votre ordinateur.
Choisissez Charger.
Patientez quelques instants pour que l'événement soit traité EventBridge et que la notification soit envoyée.
Consultez vos e-mails pour recevoir une notification concernant l'événement de création de l'objet. L'e-mail contiendra des détails sur l'événement S3, notamment le nom du compartiment et la clé de l'objet.
Afficher les métriques des règles
Vous pouvez consulter les statistiques relatives à votre règle afin de confirmer que les événements sont traités correctement.
Dans la EventBridge console
, choisissez votre règle. Sélectionnez l’onglet Métriques.
Vous pouvez consulter des statistiques telles que :
Invocations : le nombre de fois où la règle a été déclenchée.
TriggeredRules: le nombre de règles déclenchées par des événements correspondants.
Nettoyage : suppression de ressources
Enfin, nous supprimerons la pile et les ressources qu'elle contient.
Important
Les ressources Amazon contenues dans la pile vous seront facturées tant qu'elle existera.
Ouvrez la CloudFormation console à l'adresse https://console.aws.amazon.com/cloudformation/
. -
Sur la page Stacks, choisissez la pile créée à partir du modèle, choisissez Supprimer, puis confirmez Supprimer.
CloudFormation initie la suppression de la pile et de toutes les ressources qu'elle contient.
CloudFormation détails du modèle
Ce modèle crée des ressources et accorde des autorisations sur votre compte.
Ressources
Le CloudFormation modèle de ce didacticiel créera les ressources suivantes dans votre compte :
Important
Les ressources Amazon utilisées vous seront facturées si vous créez une pile à partir de ce modèle.
AWS::S3::Bucket
: un compartiment Amazon S3 qui agit comme source d'événements pour la règle, avec EventBridge les notifications activées.AWS::SNS::Topic
: rubrique Amazon SNS qui sert de cible aux événements correspondant à la règle.AWS::SNS::Subscription
: un abonnement par e-mail à la rubrique SNS.AWS::IAM::Role
: rôle d'exécution IAM octroyant des autorisations au EventBridge service dans votre compte.AWS::Events::Rule
: règle reliant les événements du compartiment Amazon S3 à la rubrique Amazon SNS.
Autorisations
Le modèle inclut une AWS::IAM::Role
ressource qui représente un rôle d'exécution. Ce rôle accorde au EventBridge service (events.amazonaws.com
) les autorisations suivantes sur votre compte.
Les autorisations suivantes sont accordées par le biais de la politique gérée AmazonSNSFullAccess
:
Accès complet aux ressources et aux opérations d'Amazon SNS
CloudFormation modèle
Enregistrez le code YAML suivant dans un fichier distinct à utiliser comme CloudFormation modèle pour ce didacticiel.