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 canal Amazon
Pour nous familiariser avec les tuyaux et leurs fonctionnalités, nous allons utiliser un AWS CloudFormation modèle pour configurer un EventBridge canal et les composants associés. Ensuite, nous pouvons explorer les différentes caractéristiques des tuyaux.
Le modèle crée un EventBridge canal qui connecte un flux provenant 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 canal envoie l'événement résultant à la file d'attente.
Le tuyau déployé est composé de :
Une table DynamoDB (et un flux) servant de source de canal, 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 canal lui-même, qui contient un filtre d'événements qui sélectionne uniquement les événements générés lorsqu'un élément de table est créé (inséré) ou modifié.
Pour obtenir des informations techniques spécifiques sur le modèle, consultezDétails du modèle.
Création du tuyau à l'aide de AWS CloudFormation
Pour créer le canal et ses ressources associées, nous allons créer un CloudFormation modèle et l'utiliser pour créer une pile contenant un échantillon de tube, 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éation du 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.
Création de la pile
Ensuite, utilisez le modèle que vous avez enregistré pour provisionner une CloudFormation pile.
Ouvrez la AWS CloudFormation console.
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 ou entrez les vôtres.
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 AWS 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.
AWS 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.
Exploration des capacités des canalisations
Une fois le canal créé, vous pouvez utiliser la EventBridge console pour observer le fonctionnement du canal et tester le déroulement des événements.
Vous voulez ouvrir la EventBridge console à la https://console.aws.amazon.com/events/maison ? #/tuyaux
. -
Choisissez le tube que vous avez créé.
Sur la page détaillée du canal, la section Composants du canal affiche les ressources qui le composent et contient des onglets fournissant plus de détails sur chaque composant.
Vous trouverez le rôle d'exécution que nous avons créé pour le canal dans l'onglet Paramètres, dans la section Autorisations.
Examen du filtre à tuyau
Avant de tester le fonctionnement du tube, examinons le filtre que nous avons spécifié pour contrôler les événements envoyés à la cible. Le canal 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
eventName
paramètre est défini surINSERT
ouMODIFY
.{ "eventName": ["INSERT", "MODIFY"] }
Envoyer des événements par le biais du canal
Ensuite, nous allons générer des événements dans la source du canal pour vérifier que le filtrage et la distribution du canal 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 du canal.
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.
Sélectionnez Explore table items (Explorer les éléments de la table).
-
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 Artist.
Choisissez Créer un élément.
Générez un événement
DELETE
et 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'article, puis choisissez Recréer l'article.
Cela entraîne la suppression puis la recréation de l'élément, 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, entrez Année, puis entrez une valeur pour l'attribut. Choisissez Enregistrer et fermer.
Confirmation de la diffusion de l'événement par le biais du canal
Enfin, nous confirmerons que le canal 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 voir les détails.
La file d'attente doit contenir trois messages d'événement :
Deux types
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 de table.
Notez qu'il n'y a aucun message d'événement de ce type
DELETE
dans la file d'attente, même s'il a été généré lorsque vous avez supprimé et recréé l'élément du tableau en modifiant une valeur clé. Le filtre de canal que nous avons spécifié sélectionne uniquement surINSERT
etMODIFY
, par conséquent, le canal a filtré l'DELETE
événement au lieu 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 AWS CloudFormation console.
-
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 AWS 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 sert de source d'événements pour le canal.AWS::SQS::Queue
: une file d'attente Amazon SQS qui sert de cible aux événements circulant dans le canal.AWS::IAM::Role
: rôle d'exécution IAM octroyant des autorisations au service EventBridge Pipes dans votre compte.AWS::Pipes::Pipe
: canal reliant la table DynamoDB à la file d'attente Amazon SQS.
Autorisations
Le modèle inclut une AWS::IAM::Role
ressource qui représente un rôle d'exécution. Ce rôle accorde au service EventBridge Pipes (pipes.amazonaws.com
) les autorisations suivantes sur votre compte.
Les autorisations suivantes sont étendues à la table DynamoDB et au flux créés par le modèle en tant que source d'événements pour le canal :
dynamodb:DescribeStream
dynamodb:GetRecords
dynamodb:GetShardIterator
dynamodb:ListStreams
L'autorisation suivante s'applique à 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.