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 un EventBridge tube Amazon
Pour nous familiariser avec les tuyaux et leurs fonctionnalités, nous utiliserons un CloudFormation modèle pour configurer un EventBridge tuyau et les composants associés. Ensuite, nous pouvons explorer les différentes caractéristiques des tuyaux.
Astuce
Pour une expérience d'apprentissage pratique plus complète, essayez le EventBridge Pipes Workshop
Le modèle crée un EventBridge canal qui connecte un flux d'une table DynamoDB à une file d'attente Amazon SQS. Chaque fois qu'un enregistrement est créé ou modifié dans la table de base de données, le tube envoie l'événement qui en résulte à la file d'attente.
Le tube déployé est composé de :
Une table DynamoDB (et un flux) servant de source de tube et une file d'attente Amazon SQS en tant que cible.
Rôle d'exécution qui accorde EventBridge les autorisations nécessaires pour accéder à la table DynamoDB et à la file d'attente Amazon SQS.
Le tube lui-même, qui contient un filtre d'événements qui sélectionne uniquement les événements générés lors de la création (insertion) ou de la modification d'un élément de tableau.
Pour obtenir des informations techniques spécifiques sur le modèle, consultezDétails du modèle.
Création du tuyau à l'aide de CloudFormation
Pour créer le tube et ses ressources associées, nous allons créer un CloudFormation modèle et l'utiliser pour créer une pile contenant un tube d'échantillonnage, 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.
Tout d'abord, créez le CloudFormation modèle.
Dans la section Modèle, cliquez sur l’icône de copie dans l’onglet JSON ou YAML pour copier le contenu du modèle.
Copiez 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 provisionner une CloudFormation pile.
Ouvrez la CloudFormation console à l'adresse https://console.aws.amazon.com/cloudformation/
. Sur la page Piles, dans le menu Créer une pile, choisissez Avec de nouvelles ressources (standard).
Spécifiez un modèle :
Sous Prérequis, choisissez Choisir un modèle existant.
Sous Spécifier le modèle, sélectionnez Charger un modèle de fichier.
Choisissez Choisir un fichier, accédez au fichier du modèle, puis sélectionnez-le.
Choisissez Suivant.
Spécifiez les détails de pile :
Saisissez le nom de la pile.
Pour les paramètres, acceptez les valeurs par défaut ou entrez les vôtres.
Choisissez Suivant.
Configurez les options de pile :
Sous Options d’échec de 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 stratégie 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 Attribut
DeletionPolicydans le Guide de l’utilisateur CloudFormation .Acceptez toutes les autres valeurs par défaut.
Sous Fonctionnalités, cochez la case pour confirmer que des ressources IAM sont CloudFormation susceptibles de créer des ressources IAM sur votre compte.
Choisissez Suivant.
Vérifiez les détails de la pile et choisissez Envoyer.
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. Utilisez le
template-bodyparamètre pour transmettre le contenu du modèle outemplate-urlpour spécifier un emplacement URL.aws cloudformation create-stack \ --stack-nameeventbridge-rule-tutorial\ --template-bodytemplate-contents\ --capabilities CAPABILITY_IAMRemplacez la ou les valeurs par défaut d'un ou de plusieurs paramètres de modèle. Par exemple :
aws cloudformation create-stack \ --stack-nameeventbridge-rule-tutorial\ --template-bodytemplate-contents\ --parameters \ ParameterKey=SourceTableName,ParameterValue=pipe-example-source\ ParameterKey=TargetQueueName,ParameterValue=pipe-example-target\ ParameterKey=PipeName,ParameterValue=pipe-with-filtering-example\ --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 sur la page détaillée de la pile pour afficher les ressources qui ont été provisionnées sur votre compte.
Exploration des capacités des conduites
Une fois le tube créé, vous pouvez utiliser la EventBridge console pour observer son fonctionnement et tester la livraison des événements.
Ouvrez la EventBridge console à l'adresse https://console.aws.amazon.com/events/home ? #/tuyaux
. -
Choisissez le tube que vous avez créé.
Sur la page détaillée du tuyau, la section Composants du tuyau affiche les ressources qui composent le tuyau et contient des onglets qui fournissent plus de détails sur chaque composant.
Vous trouverez le rôle d'exécution que nous avons créé pour le tube dans l'onglet Paramètres, dans la section Autorisations.
Examen du filtre du tuyau
Avant de tester le fonctionnement du tube, examinons le filtre que nous avons spécifié pour contrôler quels événements sont envoyés à la cible. Le tube envoie uniquement les événements correspondant aux critères du filtre à la cible ; tous les autres sont ignorés. Dans ce cas, nous voulons uniquement que les événements générés lorsque des entrées de table sont créées ou modifiées soient envoyés à la file d'attente Amazon SQS.
Sur la page détaillée du tuyau, sous Composants du tuyau, choisissez l'onglet Filtrage.
Nous avons inclus un filtre qui sélectionne uniquement les événements pour lesquels le
eventNameest défini surINSERTouMODIFY.{ "eventName": ["INSERT", "MODIFY"] }
Envoi d'événements par le canal
Ensuite, nous allons générer des événements dans la source du tuyau pour vérifier que le filtrage et la distribution du tuyau fonctionnent correctement. Pour ce faire, nous allons créer et modifier un élément dans la table DynamoDB que nous avons spécifiée comme source de tube.
Sur la page détaillée du tuyau, sous Composants du tuyau, choisissez l'onglet Source.
Sous Source, choisissez le nom du flux DynamoDB.
Cela ouvre la console DynamoDB dans une fenêtre séparée, avec les détails de la table source affichés.
Choisissez Explorer les objets.
-
Générez un
INSERTévénement en créant un élément dans le tableau :Choisissez Créer un élément.
Ajoutez des valeurs pour les attributs Album et Artiste.
Choisissez Créer un élément.
Générez un événement
DELETEet unINSERTévénement en modifiant l'élément :Choisissez l'élément dans la liste, puis dans le menu Actions, choisissez Modifier l'élément.
Entrez une nouvelle valeur pour l'attribut Album ou Artiste.
Cochez la case qui confirme que vous modifiez la valeur des clés d'élément, puis choisissez Recréer l'élément.
L'élément est alors supprimé puis recréé, générant un
DELETEévénement, puis un nouvelINSERTévénement.
Générez un
MODIFYévénement en ajoutant un attribut à l'élément :Choisissez l'élément dans la liste, puis dans le menu Actions, choisissez Modifier l'élément.
Dans le menu Ajouter un nouvel attribut, choisissez Numéro.
Pour le nom de l'attribut, saisissez Année, puis entrez une valeur pour l'attribut. Choisissez Enregistrer et fermer.
Confirmation de la livraison de l'événement par le canal
Enfin, nous confirmerons que le tube a correctement filtré et diffusé les événements que nous avons générés en créant et en modifiant l'élément de table dans DynamoDB.
Sur la page détaillée du tuyau, sous Composants du tuyau, choisissez l'onglet Target.
Sous Target, choisissez le nom de la file d'attente Amazon SQS.
Cela ouvre la console Amazon SQS dans une fenêtre séparée, avec les détails de la file d'attente cible affichés.
Choisissez Envoyer et recevoir des messages.
Sous Recevoir des messages, choisissez Sondage pour les messages.
Amazon SQS charge les messages reçus dans la file d'attente. Cliquez sur un message individuel pour en afficher les détails.
Il doit y avoir trois messages d'événement dans la file d'attente :
Deux de ce type
INSERT, l'un généré lorsque vous avez créé l'élément de table pour la première fois, et l'autre généré lorsque vous avez recréé l'élément en modifiant une valeur clé.Un de type
MODIFY, généré lorsque vous avez ajouté un attribut à l'élément du tableau.
Notez qu'il n'y a aucun message d'événement de ce type
DELETEdans la file d'attente, même s'il a été généré lorsque vous avez supprimé et recréé l'élément de table en modifiant une valeur clé. Le filtre de tube que nous avons spécifié ne sélectionne que surINSERTetMODIFY, de sorte que le tube a filtré l'DELETEévénement plutôt que de le transmettre à la file d'attente.
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 Piles, choisissez la pile créée à partir du modèle, choisissez Supprimer, puis confirmez Supprimer.
CloudFormation lance la suppression de la pile et de toutes les ressources qu'elle inclut.
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::DynamoDB::Table: table DynamoDB qui fait office de source d'événements pour le tube.AWS::SQS::Queue: file d'attente Amazon SQS qui sert de cible pour les événements circulant dans le canal.AWS::IAM::Role: rôle d'exécution IAM accordant des autorisations au service EventBridge Pipes de votre compte.AWS::Pipes::Pipe: canal reliant la table DynamoDB à la file d'attente Amazon SQS.
Permissions
Le modèle inclut une AWS::IAM::Role ressource qui représente un rôle d'exécution. Ce rôle confère au service EventBridge Pipes (pipes.amazonaws.com) les autorisations suivantes sur votre compte.
Les autorisations suivantes sont limitées à la table DynamoDB et au flux créés par le modèle en tant que source d'événements pour le tube :
dynamodb:DescribeStreamdynamodb:GetRecordsdynamodb:GetShardIteratordynamodb:ListStreams
L'autorisation suivante est limitée à la file d'attente Amazon SQS créée par la pile en tant que cible du canal :
sqs:SendMessage
CloudFormation modèle
Enregistrez le code JSON ou YAML suivant dans un fichier distinct à utiliser comme CloudFormation modèle pour ce didacticiel.