Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Tutorial: Erstellen Sie eine EventBridge Pipe, die Quellereignisse filtert
In diesem Tutorial erstellen Sie eine Pipe, die eine DynamoDB-Stream-Quelle mit einem SQS Amazon-Warteschlangenziel verbindet. Dazu gehört die Angabe eines Ereignismusters für die Pipe, das beim Filtern von Ereignissen zur Übermittlung an die Warteschlange verwendet werden soll. Anschließend testen Sie die Pipe, um sicherzustellen, dass nur die gewünschten Ereignisse übermittelt werden.
Voraussetzungen: Erstellen der Quelle und des Ziels
Bevor Sie die Pipe erstellen, müssen Sie die Quelle und das Ziel erstellen, mit denen die Pipe verbunden werden soll. In diesem Fall ein Amazon DynamoDB DynamoDB-Datenstream als Pipe-Quelle und eine SQS Amazon-Warteschlange als Pipe-Ziel.
Um diesen Schritt zu vereinfachen, können Sie AWS CloudFormation die Quell- und Zielressourcen bereitstellen. Dazu erstellen Sie eine CloudFormation Vorlage, die die folgenden Ressourcen definiert:
-
Die Pipe-Quelle
Eine Amazon-DynamoDB-Tabelle namens
pipe-tutorial-source
mit einem aktivierten Stream, um einen geordneten Informationsfluss zu Elementänderungen in der DynamoDB-Tabelle bereitzustellen. Das Pipe-Ziel
Eine SQS Amazon-Warteschlange mit dem Namen
pipe-tutorial-target
, um den DynamoDB-Ereignisstream von Ihrer Pipe zu empfangen.
Um die CloudFormation Vorlage für die Bereitstellung von Pipe-Ressourcen zu erstellen
Kopieren Sie den JSON Vorlagentext im folgenden AWS CloudFormation Vorlage für die Generierung der Voraussetzungen Abschnitt.
Speichern Sie die Vorlage als JSON Datei (z. B.
~/pipe-tutorial-resources.json
).
Verwenden Sie als Nächstes die Vorlagendatei, die Sie gerade erstellt haben, um einen CloudFormation Stack bereitzustellen.
Anmerkung
Sobald Sie Ihren CloudFormation Stack erstellt haben, werden Ihnen die bereitgestellten AWS Ressourcen in Rechnung gestellt.
Stellen Sie die Voraussetzungen für das Tutorial bereit, indem Sie AWS CLI
Führen Sie den folgenden CLI Befehl aus, der den Speicherort Ihrer Vorlagendatei
--template-body
angibt:aws cloudformation create-stack --stack-name
pipe-tuturial-resources
--template-body file://~/pipe-tutorial-resources.json
Stellen Sie die Voraussetzungen für das Tutorial mithilfe der CloudFormation Konsole bereit
-
Öffnen Sie die AWS CloudFormation Konsole unter https://console.aws.amazon.com/cloudformation
. Wählen Sie Stacks und dann Stack erstellen und Mit neuen Ressourcen (Standard) aus.
CloudFormation zeigt den Assistenten zum Erstellen von Stacks an.
Lassen Sie für Voraussetzung – Vorlage vorbereiten die Standardeinstellung Vorlage ist bereit ausgewählt.
Wählen Sie unter Vorlage festlegen die Option Vorlagendatei hochladen und dann die Datei und Weiter aus.
-
Konfigurieren Sie den Stack und die Ressourcen, die er bereitstellen soll:
Geben Sie unter Stack name (Stack-Name)
pipe-tuturial-resources
ein.Behalten Sie für Parameter die Standardnamen für die DynamoDB-Tabelle und die SQS Amazon-Warteschlange bei.
Wählen Sie Weiter aus.
Wählen Sie Weiter und dann Absenden aus.
CloudFormation erstellt den Stack und stellt die in der Vorlage definierten Ressourcen bereit.
Weitere Informationen zu CloudFormation finden Sie unter Was ist AWS CloudFormation? im AWS CloudFormation Benutzerhandbuch.
Schritt 1: Erstellen der Pipe
Nachdem die Pipe-Quelle und das Pipe-Ziel bereitgestellt wurden, können Sie jetzt die Pipe erstellen, um die beiden Services zu verbinden.
Erstellen Sie die Pipe mit der EventBridge Konsole
Öffnen Sie die EventBridge Amazon-Konsole unter https://console.aws.amazon.com/events/
. Wählen Sie im Navigationsbereich die Option Pipes aus.
Wählen Sie Pipe erstellen aus.
Geben Sie für Name den Namen
pipe-tutorial
für die Pipe ein.Geben Sie die DynamoDB-Datenstromquelle an:
Wählen Sie unter Details für Quelle die Option DynamoDB-Datenstrom aus.
EventBridge zeigt DynamoDB-spezifische Quellkonfigurationseinstellungen an.
Wählen Sie für DynamoDB-Stream
pipe-tutorial-source
aus.Behalten Sie die Standardeinstellung
Latest
für Startposition bei.Wählen Sie Weiter aus.
Geben Sie ein Ereignismuster an und testen Sie es, um Ereignisse zu filtern:
Durch Filtern können Sie steuern, welche Ereignisse die Pipe an die Anreicherung oder an das Ziel sendet. Die Pipe sendet nur Ereignisse, die dem Ereignismuster entsprechen, an die Anreicherung oder das Ziel.
Weitere Informationen finden Sie unter Filterung von Ereignissen in Amazon EventBridge Pipes.
Anmerkung
Ihnen werden nur die Ereignisse in Rechnung gestellt, die an die Anreicherung oder das Ziel gesendet wurden.
Lassen Sie unter Beispielereignis – optional die Option AWS -Ereignisse ausgewählt und stellen Sie sicher, dass DynamoDB-Stream-Beispielereignis 1 ausgewählt ist.
Dies ist das Beispielereignis, das Sie verwenden werden, um unser Ereignismuster zu testen.
Geben Sie unter Ereignismuster das folgende Ereignismuster ein:
{ "eventName": ["INSERT", "MODIFY"] }
Wählen Sie Testmuster aus.
EventBridge zeigt eine Meldung an, dass das Beispielereignis dem Ereignismuster entspricht. Dies liegt daran, dass das Beispielereignis den
eventName
-WertINSERT
aufweist.Wählen Sie Weiter aus.
Wählen Sie Weiter aus, um die Angabe einer Anreicherung zu überspringen.
In diesem Beispiel wählen Sie keine Anreicherung aus. Mit Anreicherungen können Sie einen Service auswählen, um die Daten aus der Quelle zu optimieren, bevor Sie sie an das Ziel senden. Weitere Details finden Sie unter Anreicherung von Veranstaltungen in Amazon EventBridge Pipes.
Geben Sie Ihre SQS Amazon-Warteschlange als Pipe-Ziel an:
Wählen Sie unter Details für Target-Service die Option SQSAmazon-Warteschlange aus.
Wählen Sie für Warteschlange
pipe-tutorial-target
aus.Lassen Sie den Abschnitt Zieleingabe-Transformator leer.
Weitere Informationen finden Sie unter Amazon EventBridge Pipes-Eingabetransformation.
Wählen Sie Pipe erstellen aus.
EventBridge erstellt die Pipe und zeigt die Pipe-Detailseite an. Die Pipe ist bereit, sobald ihr Status auf
Running
aktualisiert wurde.
Schritt 2: Bestätigen der Pipe-Filterereignisse
Die Pipe ist eingerichtet, hat aber noch keine Ereignisse aus der Tabelle empfangen.
Zum Testen der Pipe aktualisieren Sie die Einträge in der DynamoDB-Tabelle. Bei jeder Aktualisierung werden Ereignisse generiert, die der DynamoDB-Stream an unsere Pipe sendet. Einige entsprechen dem von Ihnen angegebenen Ereignismuster, andere nicht. Sie können dann die SQS Amazon-Warteschlange untersuchen, um sicherzustellen, dass die Pipe nur die Ereignisse übermittelt hat, die unserem Ereignismuster entsprachen.
Aktualisieren der Tabellenelemente, um Ereignisse zu generieren
Öffnen Sie die DynamoDB-Konsole unter. https://console.aws.amazon.com/dynamodb/
Wählen Sie in der linken Navigationsleiste die Option Tabellen aus. Wählen Sie die Tabelle
pipe-tutorial-source
aus.DynamoDB zeigt die Tabellendetailseite für
pipe-tutorial-source
an.Wählen Sie Tabellenelemente durchsuchen und dann Element erstellen aus.
DynamoDB zeigt die Seite Element erstellen an.
Erstellen Sie unter Attribute ein neues Tabellenelement:
Geben Sie für Album
Album A
ein.Geben Sie für Künstler
Artist A
ein.Wählen Sie Create item (Element erstellen) aus.
Aktualisieren Sie das Tabellenelement:
Wählen Sie unter Zurückgegebene Elemente die Option Album A aus.
Wählen Sie Neues Attribut hinzufügen und anschließend Zeichenfolge aus.
Geben Sie den neuen Wert
Song
mit dem WertSong A
ein.Wählen Sie Änderungen speichern aus.
Löschen Sie das Tabellenelement:
Aktivieren Sie unter Zurückgegebene Elemente die Option Album A.
Wählen Sie im Menü Aktionen die Option Elemente löschen aus.
Sie haben drei Aktualisierungen am Tabellenelement vorgenommen. Dadurch werden drei Ereignisse für den DynamoDB-Datenstrom generiert:
Ein
INSERT
-Ereignis, als Sie das Element erstellt habenEin
MODIFY
-Ereignis, als Sie dem Element ein Attribut hinzugefügt habenEin
REMOVE
-Ereignis, als Sie das Element gelöscht haben
Das von Ihnen für die Pipe angegebene Ereignismuster sollte jedoch alle Ereignisse herausfiltern, bei denen es sich nicht um INSERT
- oder MODIFY
-Ereignisse handelt. Stellen Sie als Nächstes sicher, dass die Pipe die erwarteten Ereignisse an die Warteschlange übermittelt hat.
Bestätigen, dass die erwarteten Ereignisse an die Warteschlange übermittelt wurden
Öffnen Sie die SQS Amazon-Konsole unter https://console.aws.amazon.com/sqs/
. Wählen Sie die Warteschlange
pipe-tutorial-target
aus.Amazon SQS zeigt die Seite mit den Warteschlangendetails an.
Wählen Sie Nachrichten senden und empfangen und dann unter Nachrichten empfangen die Option Abrufen von Nachrichten aus.
Die Warteschlange fragt die Pipe ab und listet dann die Ereignisse auf, die sie empfängt.
Wählen Sie den Namen des Ereignisses, um das Ereignis zu sehenJSON, das zugestellt wurde.
In der Warteschlange sollten sich zwei Ereignisse befinden: eines mit dem eventName
INSERT
und eines mit dem eventName
MODIFY
. Die Pipe hat das Ereignis für das Löschen des Tabellenelements jedoch nicht übermittelt, da dieses Ereignis den eventName
REMOVE
aufwies, der nicht dem von Ihnen in der Pipe angegebenen Ereignismuster entsprach.
Schritt 3: Bereinigen Ihrer Ressourcen
Löschen Sie zunächst die Pipe selbst.
Löschen Sie die Pipe mithilfe der EventBridge Konsole
Öffnen Sie die EventBridge Amazon-Konsole unter https://console.aws.amazon.com/events/
. Wählen Sie im Navigationsbereich die Option Pipes aus.
Wählen Sie die Pipe
pipe-tutorial
und dann Löschen aus.
Löschen Sie anschließend den CloudFormation Stack, um zu verhindern, dass Ihnen die fortgesetzte Nutzung der darin bereitgestellten Ressourcen in Rechnung gestellt wird.
Löschen Sie die Voraussetzungen für das Tutorial mithilfe der AWS CLI
Führen Sie den folgenden CLI Befehl aus, der den Namen Ihres Stacks
--stack-name
angibt:aws cloudformation delete-stack --stack-name
pipe-tuturial-resources
Löschen Sie die Voraussetzungen für das Tutorial mithilfe der AWS CloudFormation Konsole
-
Öffnen Sie die AWS CloudFormation Konsole unter https://console.aws.amazon.com/cloudformation
. Wählen Sie auf der Seite Stacks den Stack und dann Löschen aus.
Wählen Sie Löschen aus, um Ihre Aktion zu bestätigen.
AWS CloudFormation Vorlage für die Generierung der Voraussetzungen
Verwenden Sie das JSON Folgende, um eine CloudFormation Vorlage für die Bereitstellung der Quell- und Zielressourcen zu erstellen, die für dieses Tutorial erforderlich sind.
{ "AWSTemplateFormatVersion": "2010-09-09", "Description" : "Provisions resources to use with the EventBridge Pipes tutorial. You will be billed for the AWS resources used if you create a stack from this template.", "Parameters" : { "SourceTableName" : { "Type" : "String", "Default" : "pipe-tutorial-source", "Description" : "Specify the name of the table to provision as the pipe source, or accept the default." }, "TargetQueueName" : { "Type" : "String", "Default" : "pipe-tutorial-target", "Description" : "Specify the name of the queue to provision as the pipe target, or accept the default." } }, "Resources": { "PipeTutorialSourceDynamoDBTable": { "Type": "AWS::DynamoDB::Table", "Properties": { "AttributeDefinitions": [{ "AttributeName": "Album", "AttributeType": "S" }, { "AttributeName": "Artist", "AttributeType": "S" } ], "KeySchema": [{ "AttributeName": "Album", "KeyType": "HASH" }, { "AttributeName": "Artist", "KeyType": "RANGE" } ], "ProvisionedThroughput": { "ReadCapacityUnits": 10, "WriteCapacityUnits": 10 }, "StreamSpecification": { "StreamViewType": "NEW_AND_OLD_IMAGES" }, "TableName": { "Ref" : "SourceTableName" } } }, "PipeTutorialTargetQueue": { "Type": "AWS::SQS::Queue", "Properties": { "QueueName": { "Ref" : "TargetQueueName" } } } } }