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.
Starten eines Step Functions-Workflows als Reaktion auf Ereignisse
Sie können eine AWS Step Functions Zustandsmaschine als Reaktion auf ein Ereignis ausführen, das von einer EventBridge Amazon-Regel an Step Functions als Ziel weitergeleitet wird.
Das folgende Tutorial zeigt Ihnen, wie Sie eine Zustandsmaschine als Ziel einer EventBridge Amazon-Regel konfigurieren. Immer wenn Dateien zu einem Amazon Simple Storage Service (Amazon S3) -Bucket hinzugefügt werden, startet die EventBridge Regel die Zustandsmaschine.
Ein praktisches Beispiel für diesen Ansatz könnte eine Zustandsmaschine sein, die Amazon Rekognition-Analysen für Bilddateien durchführt, die dem Bucket hinzugefügt wurden, um sie zu kategorisieren und Schlüsselwörter zuzuweisen.
In diesem Tutorial starten Sie die Ausführung einer Helloworld Zustandsmaschine, indem Sie eine Datei in einen Amazon S3-Bucket hochladen. Anschließend überprüfen Sie die Beispieleingabe dieser Ausführung, um die Informationen zu identifizieren, die in der Eingabe der Amazon S3-Ereignisbenachrichtigung enthalten sind, an EventBridge die gesendet wurde.
Voraussetzung: Erstellen eines Zustandsautomaten
Bevor Sie eine Zustandsmaschine als EventBridge Amazon-Ziel konfigurieren können, müssen Sie die Zustandsmaschine erstellen.
-
Um eine grundlegende Zustandsmaschine zu erstellen, verwenden Sie das Tutorial Creating State Machine, das eine Lambda-Funktion verwendet.
-
Wenn Sie bereits über einen
Helloworld-Zustandsautomaten verfügen, fahren Sie mit dem nächsten Schritt fort.
Schritt 1: Erstellen Sie einen Bucket in Amazon S3
Da Sie nun über eine Helloworld Zustandsmaschine verfügen, müssen Sie einen Amazon S3-Bucket erstellen, in dem Ihre Dateien gespeichert werden. In Schritt 3 dieses Tutorials richten Sie eine Regel ein, sodass beim Hochladen einer Datei in diesen Bucket eine Ausführung Ihrer Zustandsmaschine EventBridge ausgelöst wird.
-
Navigieren Sie zur Amazon S3-Konsole und wählen Sie dann Create bucket
, um den Bucket zu erstellen, in dem Sie Ihre Dateien speichern möchten, und eine Amazon S3-Ereignisregel auszulösen. -
Geben Sie unter Bucket name (Bucket-Name) einen Namen ein, beispielsweise
.username-sfn-tutorialAnmerkung
Bucket-Namen müssen für alle vorhandenen Bucket-Namen in allen AWS Regionen in Amazon S3 eindeutig sein. Verwenden Sie Ihren eigenen Namen
username, um diesen Namen einzigartig zu machen. Sie müssen alle Ressourcen in derselben AWS Region erstellen. -
Behalten Sie alle Standardauswahlen auf der Seite bei und wählen Sie Bucket erstellen.
Schritt 2: Aktivieren Sie die Amazon S3-Ereignisbenachrichtigung mit EventBridge
Nachdem Sie den Amazon S3-Bucket erstellt haben, konfigurieren Sie ihn so, dass Ereignisse an EventBridge jedes Mal gesendet werden, wenn bestimmte Ereignisse in Ihrem S3-Bucket auftreten, z. B. Datei-Uploads.
-
Navigieren Sie zur Amazon S3-Konsole
. -
Wählen Sie in der Liste Buckets den Namen des Buckets aus, für den Sie Ereignisse aktivieren möchten.
-
Wählen Sie Properties (Eigenschaften).
-
Wählen Sie im Abschnitt Event-Benachrichtigungen im EventBridge Amazon-Unterabschnitt Bearbeiten aus.
-
Wählen Sie unter Benachrichtigungen an Amazon EventBridge für alle Ereignisse in diesem Bucket senden die Option On aus.
-
Wählen Sie Änderungen speichern aus.
Anmerkung
Nach der Aktivierung dauert es etwa fünf Minuten EventBridge, bis die Änderungen wirksam werden.
Schritt 3: Erstellen Sie eine EventBridge Amazon-Regel
Nachdem Sie über eine Zustandsmaschine verfügen und den Amazon S3-Bucket erstellt und für das Senden von Ereignisbenachrichtigungen konfiguriert haben EventBridge, erstellen Sie eine EventBridge Regel.
Anmerkung
Sie müssen die EventBridge Regel in derselben AWS Region wie der Amazon S3-Bucket konfigurieren.
So erstellen Sie die -Regel
-
Navigieren Sie zur EventBridge Amazon-Konsole
und wählen Sie Regel erstellen aus. Tipp
Sie können auch im Navigationsbereich der EventBridge Konsole unter Busse die Option Regeln und dann Regel erstellen auswählen.
-
Geben Sie einen Namen für Ihre Regel ein (z. B.
) und geben Sie optional eine Beschreibung für die Regel ein.S3Step Functions -
Behalten Sie für den Event-Bus und den Regeltyp die Standardauswahl bei.
-
Wählen Sie Weiter aus. Dadurch wird die Seite „Event-Muster erstellen“ geöffnet.
-
Gehen Sie im Abschnitt Event-Muster wie folgt vor:
-
Behalten Sie für die Ereignisquelle die Standardauswahl von AWS Ereignissen oder EventBridge Partnerereignissen bei.
-
Wählen Sie für AWS Service Simple Storage Service (S3) aus.
-
Wählen Sie als Ereignistyp Amazon S3 Event Notification aus.
-
Wählen Sie Bestimmte Ereignisse und dann Object Created aus.
-
Wählen Sie bestimmte Buckets nach Namen aus und geben Sie den Bucket-Namen ein, den Sie in Schritt 1 (
) erstellt haben, um Ihre Dateien zu speichern.username-sfn-tutorial -
Wählen Sie Weiter aus. Dadurch wird die Seite „Ziel (e) auswählen“ geöffnet.
-
So erstellen Sie das Ziel
-
Behalten Sie in Ziel 1 die Standardauswahl des AWS Dienstes bei.
-
Wählen Sie in der Dropdownliste Ziel auswählen die Option Step Functions State Machine aus.
-
Wählen Sie in der Liste State Machine den State Machine aus, den Sie zuvor erstellt haben (z. B.
Helloworld). -
Behalten Sie alle Standardauswahlen auf der Seite bei und wählen Sie Weiter. Dadurch wird die Seite „Tags konfigurieren“ geöffnet.
-
Wählen Sie erneut Next (Weiter). Dadurch wird die Seite „Überprüfen und erstellen“ geöffnet.
-
Überprüfen Sie die Details der Regel und wählen Sie dann Regel erstellen aus.
Die Regel wird erstellt und die Seite „Regeln“ wird angezeigt, auf der alle Ihre EventBridge Amazon-Regeln aufgeführt sind.
Schritt 4: Testen der Regel
Nachdem alles eingerichtet ist, testen Sie das Hinzufügen einer Datei zum Amazon S3-Bucket und sehen Sie sich dann die Eingabe der resultierenden State-Machine-Ausführung an.
-
Fügen Sie Ihrem Amazon S3-Bucket eine Datei hinzu.
Navigieren Sie zur Amazon S3-Konsole
, wählen Sie den Bucket aus, den Sie zum Speichern von Dateien ( ) erstellt haben, und wählen Sie dann Upload.username-sfn-tutorial -
Fügen Sie beispielsweise
eine Datei hinzu und wählen Sie dann Upload.test.pngDadurch wird die Ausführung Ihres Zustandsautomaten gestartet, der Informationen aus AWS CloudTrail als Eingabe übergibt.
-
Überprüfen Sie die Ausführung für Ihren Zustandsautomaten.
Navigieren Sie zur Step Functions-Konsole und wählen Sie den Zustandsmaschine aus, der in Ihrer EventBridge Amazon-Regel verwendet wird (
Helloworld). -
Wählen Sie die letzte Ausführung dieser Zustandsmaschine aus und erweitern Sie den Abschnitt Ausführungseingabe.
Diese Eingabe enthält Informationen wie den Bucket-Namen und den Objektnamen. In einem realen Anwendungsfall kann ein Zustandsautomat diese Eingabe verwenden, um Aktionen für das betreffende Objekt auszuführen.
Beispiel der Ausführungseingabe
Das folgende Beispiel zeigt eine typische Eingabe für die Ausführung der Zustandsmaschine.
{ "version": "0", "id": "6c540ad4-0671-9974-6511-756fbd7771c3", "detail-type": "Object Created", "source": "aws.s3", "account": "123456789012", "time": "2023-06-23T23:45:48Z", "region": "us-east-2", "resources": [ "arn:aws:s3:::" ], "detail": { "version": "0", "bucket": { "name": "username-sfn-tutorial" }, "object": { "key": "test.png", "size": 800704, "etag": "f31d8546bb67845b4d3048cde533b937", "sequencer": "00621049BA9A8C712B" }, "request-id": "79104EXAMPLEB723", "requester": "123456789012", "source-ip-address": "200.0.100.11", "reason": "PutObject" } }username-sfn-tutorial