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.
Erste Schritte: Erstellen Sie eine EventBridge Amazon-Pipe
Um uns mit Leitungen und ihren Funktionen vertraut zu machen, verwenden wir eine CloudFormation Vorlage, um eine EventBridge Leitung und die zugehörigen Komponenten einzurichten. Anschließend können wir verschiedene Rohrmerkmale untersuchen.
Tipp
Für eine umfassendere, praktische Lernerfahrung probieren Sie den EventBridge Pipes Workshop
Die Vorlage erstellt eine EventBridge Pipe, die einen Stream von einer DynamoDB-Tabelle mit einer Amazon SQS-Warteschlange verbindet. Jedes Mal, wenn ein Datensatz in der Datenbanktabelle erstellt oder geändert wird, sendet die Pipe das resultierende Ereignis an die Warteschlange.
Die bereitgestellte Pipe besteht aus:
Eine DynamoDB-Tabelle (und ein Stream) als Pipe-Quelle und eine Amazon SQS-Warteschlange als Ziel.
Eine Ausführungsrolle, die die erforderlichen Berechtigungen für EventBridge den Zugriff auf die DynamoDB-Tabelle und die Amazon SQS-Warteschlange gewährt.
Die Pipe selbst, die einen Ereignisfilter enthält, der nur Ereignisse auswählt, die generiert werden, wenn ein Tabellenelement erstellt (eingefügt) oder geändert wird.
Spezifische technische Details der Vorlage finden Sie unterDetails zur Vorlage.
Erstellen der Pipe mit CloudFormation
Um die Leitung und die zugehörigen Ressourcen zu erstellen, erstellen wir eine CloudFormation Vorlage und verwenden sie, um einen Stapel zu erstellen, der eine Probenleitung mit Quelle und Ziel enthält.
Wichtig
Wenn Sie einen Stack aus dieser Vorlage erstellen, werden Ihnen die verwendeten Amazon-Ressourcen in Rechnung gestellt.
Erstellen Sie zunächst die CloudFormation Vorlage.
Klicken Sie im Abschnitt „Vorlage“ auf das Kopiersymbol auf der Registerkarte JSON oder YAML, um den Inhalt der Vorlage zu kopieren.
Fügen Sie den Inhalt der Vorlage in eine neue Datei ein.
Speichern Sie die Datei lokal.
Verwenden Sie als Nächstes die Vorlage, die Sie gespeichert haben, um einen CloudFormation Stack bereitzustellen.
Öffnen Sie die CloudFormation Konsole unter https://console.aws.amazon.com/cloudformation/
. Auf der Seite Stacks wählen Sie im Menü Stack erstellen die Option Mit neuen Ressourcen (Standard) aus.
Legen Sie die Vorlage fest:
Wählen Sie unter Voraussetzung die Option Vorhandene Vorlage wählen aus.
Wählen Sie unter Vorlage angeben die Option Eine Vorlagendatei hochladen aus.
Klicken Sie auf Datei auswählen, navigieren Sie zur gewünschten Vorlagendatei und wählen Sie diese aus.
Wählen Sie Weiter aus.
Geben Sie die Stack-Details ein:
Geben Sie einen Stack-Namen ein.
Übernehmen Sie für Parameter die Standardwerte oder geben Sie Ihre eigenen ein.
Wählen Sie Weiter aus.
Konfigurieren Sie die Stack-Optionen:
Wählen Sie unter Optionen für Stack-Fehler die Option Löschen aller neu erstellten Ressourcen aus.
Anmerkung
Durch Auswahl dieser Option vermeiden Sie möglicherweise anfallende Kosten für Ressourcen, deren Löschrichtlinie die Beibehaltung auch vorsieht, wenn die Stack-Erstellung fehlschlägt. Weitere Informationen finden Sie unter
DeletionPolicy-Attribut im Benutzerhandbuch zu CloudFormation .Akzeptieren Sie alle anderen Standardwerte.
Markieren Sie unter Funktionen das Kästchen, um zu bestätigen, dass CloudFormation möglicherweise IAM-Ressourcen in Ihrem Konto erstellt werden.
Wählen Sie Weiter aus.
Überprüfen Sie die Stack-Details und klicken Sie auf Absenden.
Erstellen Sie den Stack mit CloudFormation (AWS CLI)
Sie können den auch verwenden AWS CLI , um den Stapel zu erstellen.
-
Verwenden Sie den Befehl
create-stack.Übernehmen Sie die Standardwerte der Vorlagenparameter und geben Sie den Stacknamen an. Verwenden Sie den
template-bodyParameter, um den Inhalt der Vorlage zu übergeben odertemplate-urlum einen URL-Speicherort anzugeben.aws cloudformation create-stack \ --stack-nameeventbridge-rule-tutorial\ --template-bodytemplate-contents\ --capabilities CAPABILITY_IAMÜberschreiben Sie die Standardwerte eines oder mehrerer Vorlagenparameter. Beispiel:
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 erstellt den Stapel. Sobald die Stack-Erstellung abgeschlossen ist, können die Stack-Ressourcen verwendet werden. Sie können den Tab Ressourcen auf der Stack-Detailseite verwenden, um die Ressourcen anzuzeigen, die in Ihrem Konto bereitgestellt wurden.
Erkunden Sie die Funktionen von Pipes
Sobald die Pipe erstellt wurde, können Sie die EventBridge Konsole verwenden, um den Betrieb der Pipe zu beobachten und die Übertragung von Ereignissen zu testen.
Öffnen Sie die EventBridge Konsole unter https://console.aws.amazon.com/events/home? #/Rohre
. -
Wählen Sie das Rohr aus, das Sie erstellt haben.
Auf der Rohrdetailseite werden im Abschnitt Rohrkomponenten die Ressourcen angezeigt, aus denen sich die Leitung zusammensetzt. Er enthält Registerkarten mit weiteren Informationen zu den einzelnen Komponenten.
Die Ausführungsrolle, die wir für die Pipe erstellt haben, finden Sie auf der Registerkarte Einstellungen im Abschnitt Berechtigungen.
Wir untersuchen den Pipefilter
Bevor wir die Pipe-Operation testen, untersuchen wir den Filter, den wir angegeben haben, um zu steuern, welche Ereignisse an das Ziel gesendet werden. Die Pipe sendet nur Ereignisse an das Ziel, die den Filterkriterien entsprechen; alle anderen werden verworfen. In diesem Fall möchten wir nur, dass Ereignisse, die generiert werden, wenn Tabelleneinträge erstellt oder geändert werden, an die Amazon SQS-Warteschlange gesendet werden.
Wählen Sie auf der Rohrdetailseite unter Rohrkomponenten die Registerkarte Filterung aus.
Wir haben einen Filter hinzugefügt, der nur Ereignisse auswählt, bei denen der
eventNameWert aufINSERToder gesetzt istMODIFY.{ "eventName": ["INSERT", "MODIFY"] }
Ereignisse über die Pipe senden
Als Nächstes generieren wir Ereignisse in der Pipe-Quelle, um zu testen, ob die Pipe-Filterung und -Übertragung ordnungsgemäß funktionieren. Dazu erstellen und bearbeiten wir ein Element in der DynamoDB-Tabelle, die wir als Pipe-Quelle angegeben haben.
Wählen Sie auf der Rohrdetailseite unter Rohrkomponenten die Registerkarte Quelle aus.
Wählen Sie unter Quelle den DynamoDB-Streamnamen aus.
Dadurch wird die DynamoDB-Konsole in einem separaten Fenster geöffnet, in dem die Quelltabellendetails angezeigt werden.
Wählen Sie Artikel durchsuchen aus.
-
Generieren Sie ein
INSERTEreignis, indem Sie ein Element in der Tabelle erstellen:Wählen Sie Element erstellen aus.
Fügen Sie Werte für die Attribute Album und Künstler hinzu.
Wählen Sie Element erstellen aus.
Generieren Sie ein
DELETEund einINSERTEreignis, indem Sie das Element bearbeiten:Wählen Sie das Element aus der Liste aus und wählen Sie im Menü Aktionen die Option Element bearbeiten aus.
Geben Sie einen neuen Wert für das Album - oder Künstlerattribut ein.
Markieren Sie das Kästchen, das bestätigt, dass Sie den Wert der Objektschlüssel ändern, und wählen Sie dann Objekt neu erstellen.
Dies führt dazu, dass das Element gelöscht und dann neu erstellt wird, wodurch ein
DELETEEreignis und dann ein neuesINSERTEreignis generiert wird.
Generieren Sie ein
MODIFYEreignis, indem Sie dem Element ein Attribut hinzufügen:Wählen Sie das Element aus der Liste aus und wählen Sie im Menü Aktionen die Option Element bearbeiten aus.
Wählen Sie im Menü Neues Attribut hinzufügen die Option Zahl aus.
Geben Sie für den Attributnamen Year ein, und geben Sie dann einen Wert für das Attribut ein. Klicken Sie auf Save and close.
Bestätigung der Übertragung des Ereignisses über die Pipeline
Abschließend bestätigen wir, dass die Pipe die Ereignisse, die wir beim Erstellen und Bearbeiten des Tabellenelements in DynamoDB generiert haben, erfolgreich gefiltert und übermittelt hat.
Wählen Sie auf der Rohrdetailseite unter Rohrkomponenten die Registerkarte Ziel aus.
Wählen Sie unter Ziel den Namen der Amazon SQS-Warteschlange aus.
Dadurch wird die Amazon SQS-Konsole in einem separaten Fenster geöffnet, in dem die Details der Zielwarteschlange angezeigt werden.
Wählen Sie Nachrichten senden und empfangen.
Wählen Sie unter Nachrichten empfangen die Option Nach Nachrichten abfragen aus.
Amazon SQS lädt eingegangene Nachrichten in die Warteschlange. Klicken Sie auf eine einzelne Nachricht, um deren Details zu sehen.
In der Warteschlange sollten sich drei Ereignismeldungen befinden:
Zwei vom Typ
INSERT, eine wurde generiert, als Sie das Tabellenelement zum ersten Mal erstellt haben, und die andere, als Sie das Element durch Ändern eines Schlüsselwerts neu erstellt haben.Einer vom Typ
MODIFY, der generiert wurde, als Sie dem Tabellenelement ein Attribut hinzugefügt haben.
Beachten Sie, dass sich
DELETEin der Warteschlange keine Ereignismeldung dieses Typs befindet, obwohl eine generiert wurde, als Sie das Tabellenelement gelöscht und neu erstellt haben, indem Sie einen Schlüsselwert geändert haben. Der angegebene Pipefilter wählt nur einINSERTund ausMODIFY, sodass die Pipe dasDELETEEreignis herausgefiltert hat, anstatt es an die Warteschlange weiterzuleiten.
Bereinigung: Löschen von Ressourcen
Als letzten Schritt löschen wir den Stack und die darin enthaltenen Ressourcen.
Wichtig
Die im Stack enthaltenen Amazon-Ressourcen werden Ihnen in Rechnung gestellt, solange dieser vorhanden ist.
Öffnen Sie die CloudFormation Konsole unter. https://console.aws.amazon.com/cloudformation/
-
Wählen Sie auf der Seite Stacks den aus der Vorlage erstellten Stack aus und klicken Sie auf Löschen. Bestätigen Sie dann Löschen.
CloudFormation initiiert das Löschen des Stacks und aller darin enthaltenen Ressourcen.
CloudFormation Details zur Vorlage
Diese Vorlage erstellt Ressourcen und gewährt Berechtigungen in Ihrem Konto.
Ressourcen
Die CloudFormation Vorlage für dieses Tutorial erstellt die folgenden Ressourcen in Ihrem Konto:
Wichtig
Wenn Sie einen Stack aus dieser Vorlage erstellen, werden Ihnen die verwendeten Amazon-Ressourcen in Rechnung gestellt.
AWS::DynamoDB::Table: Eine DynamoDB-Tabelle, die als Ereignisquelle für die Pipe dient.AWS::SQS::Queue: Eine Amazon SQS-Warteschlange, die als Ziel für die Ereignisse dient, die durch die Pipe fließen.AWS::IAM::Role: Eine IAM-Ausführungsrolle, die Berechtigungen für den EventBridge Pipes-Service in Ihrem Konto gewährt.AWS::Pipes::Pipe: Die Pipe, die die DynamoDB-Tabelle mit der Amazon SQS-Warteschlange verbindet.
Berechtigungen
Die Vorlage enthält eine AWS::IAM::Role Ressource, die eine Ausführungsrolle darstellt. Diese Rolle gewährt dem EventBridge Pipes-Dienst (pipes.amazonaws.com) die folgenden Berechtigungen in Ihrem Konto.
Die folgenden Berechtigungen beziehen sich auf die DynamoDB-Tabelle und den Stream, die die Vorlage als Ereignisquelle für die Pipe erstellt:
dynamodb:DescribeStreamdynamodb:GetRecordsdynamodb:GetShardIteratordynamodb:ListStreams
Die folgende Berechtigung bezieht sich auf die Amazon SQS-Warteschlange, die der Stack als Ziel der Pipe erstellt:
sqs:SendMessage
CloudFormation Vorlage
Speichern Sie den folgenden JSON- oder YAML-Code als separate Datei, um ihn als CloudFormation Vorlage für dieses Tutorial zu verwenden.