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 einer Zustandsmaschine als Reaktion auf Ereignisse in Step Functions
Sie können eine ausführen AWS Step Functions Zustandsmaschine als Antwort auf eine EventBridge Amazon-Regel.
Dieses Tutorial zeigt Ihnen, wie Sie eine Zustandsmaschine als Ziel für eine EventBridge Amazon-Regel konfigurieren. Diese Regel startet eine State-Machine-Ausführung, wenn Dateien zu einem Amazon Simple Storage Service (Amazon S3) -Bucket hinzugefügt werden.
Für eine praktische Anwendung könnten Sie eine Zustandsmaschine starten, die Operationen an Dateien ausführt, die Sie dem Bucket hinzufügen, z. B. das Erstellen von Miniaturansichten oder das Ausführen von Amazon Rekognition Rekognition-Analysen für Bild- und Videodateien.
In diesem Tutorial starten Sie die Ausführung einer Helloworld
State Machine, indem Sie eine Datei in einen Amazon S3 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 S3-Ereignisbenachrichtigung enthalten sind, an die gesendet wurde EventBridge.
Voraussetzung: Erstellen eines Zustandsautomaten
Bevor Sie eine Zustandsmaschine als EventBridge Amazon-Ziel konfigurieren können, müssen Sie die Zustandsmaschine erstellen.
-
Verwenden Sie das Tutorial Erstellen einer Zustandsmaschine, die eine Lambda-Funktion verwendet, um eine grundlegende Zustandsmaschine zu erstellen.
-
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 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 Ihres Zustandsmaschinen EventBridge ausgelöst wird.
-
Navigieren Sie zur Amazon S3 S3-Konsole
und wählen Sie dann Bucket erstellen, um den Bucket zu erstellen, in dem Sie Ihre Dateien speichern und eine Amazon S3 S3-Ereignisregel auslösen möchten. -
Geben Sie unter Bucket name (Bucket-Name) einen Namen ein, beispielsweise
.username
-sfn-tutorialAnmerkung
Bucket-Namen müssen für alle vorhandenen Bucket-Namen insgesamt eindeutig sein AWS Regionen in Amazon S3. Verwenden Sie Ihre eigenen
username
um diesen Namen einzigartig zu machen. Sie müssen alle Ressourcen in derselben Datei erstellen AWS Region. -
Behalten Sie alle Standardauswahlen auf der Seite bei und wählen Sie Create Bucket aus.
Schritt 2: Aktivieren Sie die Amazon S3 S3-Ereignisbenachrichtigung mit EventBridge
Nachdem Sie den Amazon S3 S3-Bucket erstellt haben, konfigurieren Sie ihn so, dass Ereignisse immer dann gesendet werden, EventBridge wenn bestimmte Ereignisse in Ihrem S3-Bucket eintreten, z. B. Datei-Uploads.
-
Navigieren Sie zur Amazon S3 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).
-
Scrollen Sie auf der Seite nach unten, um den Abschnitt Event-Benachrichtigungen aufzurufen, und wählen Sie dann im EventBridgeAmazon-Unterabschnitt Bearbeiten aus.
-
Wählen Sie unter Benachrichtigungen EventBridge für alle Ereignisse in diesem Bucket an Amazon senden die Option An aus.
-
Wählen Sie Änderungen speichern.
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 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 Weise konfigurieren AWS Region als Amazon S3 S3-Bucket.
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 Eventbus und Regeltyp die Standardauswahlen bei.
-
Wählen Sie Weiter. Dadurch wird die Seite Event-Pattern erstellen geöffnet.
-
Scrollen Sie nach unten zum Abschnitt Event-Pattern und gehen Sie wie folgt vor:
-
Behalten Sie für die Ereignisquelle die Standardauswahl von AWS Ereignisse oder EventBridge Partnerveranstaltungen.
-
Für AWS Service, wählen Sie Simple Storage Service (S3).
-
Wählen Sie als Ereignistyp Amazon S3 Event Notification aus.
-
Wählen Sie Bestimmte Ereignisse und anschließend Objekt erstellt aus.
-
Wählen Sie Bestimmte Buckets nach Namen aus und geben Sie den Bucket-Namen ein, den Sie in Schritt 1 (
) zum Speichern Ihrer Dateien erstellt haben.username
-sfn-tutorial -
Wählen Sie Weiter. Dadurch wird die Seite Ziel (e) auswählen geöffnet.
-
So erstellen Sie das Ziel
-
Behalten Sie in Ziel 1 die Standardauswahl von AWS Dienst.
-
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 Create rule (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
Jetzt, da alles an seinem Platz ist, testen Sie das Hinzufügen einer Datei zum Amazon S3 S3-Bucket und schauen Sie sich dann die Eingabe der resultierenden State-Machine-Ausführung an.
-
Fügen Sie Ihrem Amazon S3 S3-Bucket eine Datei hinzu.
Navigieren Sie zur Amazon S3 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.png
Dadurch wird eine Ausführung Ihrer Zustandsmaschine gestartet, wobei Informationen von übergeben werden AWS CloudTrail als Eingabe.
-
Überprüfen Sie die Ausführung für Ihren Zustandsautomaten.
Navigieren Sie zur Step Functions 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 State-Machine-Ausführung.
{ "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