Starten einer State Machine-Ausführung als Reaktion auf Amazon S3 S3-Ereignisse - AWS Step Functions

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 State Machine-Ausführung als Reaktion auf Amazon S3 S3-Ereignisse

Sie können eine AWS Step Functions Zustandsmaschine als Reaktion auf eine EventBridge Amazon-Regel ausführen.

Dieses Tutorial zeigt Ihnen, wie Sie einen State Machine 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.

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 State Machine EventBridge ausgelöst wird.

  1. 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.

  2. Geben Sie unter Bucket name (Bucket-Name) einen Namen ein, beispielsweise username-sfn-tutorial.

    Anmerkung

    Bucket-Namen müssen für alle vorhandenen Bucket-Namen in allen AWS Regionen in Amazon S3 eindeutig sein. Verwenden Sie Ihren eigenen Benutzernamen, damit dieser Namen eindeutig ist. Sie müssen alle Ressourcen in der gleichen AWS-Region erstellen.

  3. Behalten Sie alle Standardauswahlen auf der Seite bei und wählen Sie Create Bucket.

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.

  1. Navigieren Sie zur Amazon S3 S3-Konsole.

  2. Wählen Sie in der Liste Buckets den Namen des Buckets aus, für den Sie Ereignisse aktivieren möchten.

  3. Wählen Sie Properties (Eigenschaften).

  4. Scrollen Sie auf der Seite nach unten, um den Abschnitt Event-Benachrichtigungen aufzurufen, und wählen Sie dann im EventBridgeAmazon-Unterabschnitt Bearbeiten aus.

  5. Wählen Sie unter Benachrichtigungen EventBridge für alle Ereignisse in diesem Bucket an Amazon senden die Option Aktiviert aus.

  6. 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 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 S3-Bucket konfigurieren.

So erstellen Sie die -Regel

  1. 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.

  2. Geben Sie einen Namen für Ihre Regel ein (z. B.S3Step Functions) und geben Sie optional eine Beschreibung für die Regel ein.

  3. Behalten Sie für Eventbus und Regeltyp die Standardauswahlen bei.

  4. Wählen Sie Weiter aus. Dadurch wird die Seite Event-Pattern erstellen geöffnet.

  5. Scrollen Sie nach unten zum Abschnitt Event-Pattern und gehen Sie wie folgt vor:

    1. Behalten Sie unter Ereignisquelle die Standardauswahl für AWSEreignisse oder EventBridge Partnerereignisse bei.

    2. Wählen Sie als AWSService Simple Storage Service (S3).

    3. Wählen Sie als Ereignistyp Amazon S3 Event Notification aus.

    4. Wählen Sie Bestimmte Ereignisse und anschließend Objekt erstellt aus.

    5. Wählen Sie Bestimmte Buckets nach Namen aus und geben Sie den Bucket-Namen ein, den Sie in Schritt 1 (username-sfn-tutorial) zum Speichern Ihrer Dateien erstellt haben.

    6. Wählen Sie Weiter aus. Dadurch wird die Seite Ziel (e) auswählen geöffnet.

So erstellen Sie das Ziel

  1. Behalten Sie in Ziel 1 die Standardauswahl des AWSDienstes bei.

  2. Wählen Sie in der Dropdownliste Ziel auswählen die Option Step Functions state machine aus.

  3. Wählen Sie in der Liste State Machine den State Machine aus, den Sie zuvor erstellt haben (z. B.Helloworld).

  4. Behalten Sie alle Standardauswahlen auf der Seite bei und wählen Sie Weiter. Dadurch wird die Seite „Tags konfigurieren“ geöffnet.

  5. Wählen Sie erneut Next (Weiter). Dadurch wird die Seite Überprüfen und erstellen geöffnet.

  6. Ü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.

  1. 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 (username-sfn-tutorial) erstellt haben, und wählen Sie dann Upload.

  2. Fügen Sie beispielsweise test.png eine Datei hinzu und wählen Sie dann Upload.

    Dadurch wird die Ausführung Ihres Zustandsautomaten gestartet, der Informationen aus AWS CloudTrail als Eingabe übergibt.

  3. Ü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).

  4. 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:::username-sfn-tutorial" ], "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" } }