Starten der Ausführung eines Zustandsautomaten 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 der Ausführung eines Zustandsautomaten als Reaktion auf Amazon S3 S3-Ereignisse

Sie können eineAWS Step FunctionsZustandsmaschine als Reaktion auf einen Amazon EventBridge oder nach einem Zeitplan.

In diesem Tutorial wird veranschaulicht, wie ein Zustandsautomat als Ziel für Amazon konfiguriert wird. EventBridge Regel. Diese -Regel startet eine Ausführung des Zustandsautomaten, wenn Dateien zu einem Amazon Simple Storage Service (Amazon S3) -Bucket hinzugefügt werden.

Für eine praktische Anwendung könnten Sie einen Zustandsautomaten starten, der Operationen für Dateien ausführt, die Sie dem Bucket hinzufügen, wie z. B. das Erstellen von Thumbnails oder das Ausführen einer Amazon Rekognition Rekognition-Analyse für Bild- und Videodateien.

In diesem Tutorial starten Sie die Ausführung einesHelloworldZustandsautomat durch Hochladen einer Datei in einen Amazon S3 S3-Bucket. 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, die an gesendet wurde EventBridgeaus.

Voraussetzung: Erstellen eines Zustandsautomaten

Bevor Sie einen Zustandsautomaten als Amazon konfigurieren können EventBridge müssen Sie den Zustandsautomaten erstellen.

  • Wie Sie einen grundlegenden Zustandsautomaten erstellen, erfahren Sie im Tutorial Getting Started.

  • Wenn Sie bereits über einen Helloworld-Zustandsautomaten verfügen, fahren Sie mit dem nächsten Schritt fort.

Schritt 1: Erstellen von von von von von von Amazon S3

Jetzt wo du eine hastHelloworldZustandsmaschine müssen Sie einen Amazon S3 S3-Bucket erstellen, der Ihre Dateien speichert. In Schritt 3 dieses Tutorials richten Sie eine -Regel ein, sodass immer dann eine Datei in diesen Bucket hochgeladen wird EventBridge löst eine Ausführung Ihres Zustandsautomaten aus.

  1. Navigieren Sie zurAmazon S3-Konsoleund wählen Sie dannBucket erstellenum 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 über alle vorhandenen Bucket-Namen eindeutig seinAWSRegionen in Amazon S3. 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 SieBucket erstellenaus.

Schritt 2: Aktivieren Sie Amazon S3 S3-Ereignisbenachrichtigung mit EventBridge

Nachdem Sie den Amazon S3 S3-Bucket erstellt haben, konfigurieren Sie ihn für das Senden von Ereignissen an EventBridge wenn bestimmte Ereignisse in Ihrem S3-Bucket stattfinden, wie z. B. das Hochladen von Dateien.

  1. Navigieren Sie zurAmazon S3-Konsoleaus.

  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. Blättern Sie auf der Seite nach unten, um dieEreignisbenachrichtigungenund wählen Sie dannBearbeitenimAmazon EventBridgeUnterabschnitt.

  5. UnterBenachrichtigungen an Amazon senden EventBridge für alle Ereignisse in diesem Bucket, wählenInaus.

  6. Wählen Sie Save Changes (Änderungen speichern).

    Anmerkung

    Nachdem Sie aktiviert haben EventBridgedauert es etwa fünf Minuten, bis die Änderungen wirksam werden.

Schritt 3: Erstellen Sie Sie ein Amazon EventBridge Regel

Nachdem Sie über einen Zustandsautomaten verfügen und den Amazon S3 S3-Bucket erstellt und konfiguriert haben, um Ereignisbenachrichtigungen an EventBridge, erstelle ein EventBridge Regel.

Anmerkung

Sie müssen konfigurieren EventBridge Regel in derselbenAWS-Region als Amazon S3 S3-Bucket.

So erstellen Sie die -Regel

  1. Navigieren Sie zurAmazon EventBridge Konsole, wählenRegel erstellenaus.

  2. Geben Sie einNamefür Ihre Regel (zum BeispielS3StepFunctions) und geben Sie optional einBeschreibungfür die Regel.

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

  4. Auf derErstellen Sie ein Ereignismusterklicken Sie einen Bildlauf nach unten zur SeiteEreignismusterund führen Sie Folgendes aus:

    1. FürEreignisquelledie Standardauswahl bei.

    2. FürAWSService, wählen SieSimple Storage Service (S3)aus.

    3. FürEreignistyp, wählenAmazon S3 S3-Ereignisbenachrichtigungaus.

    4. Klicken Sie aufSpezifische Operation (s)und wählen Sie dannObjekt erstelltaus.

    5. Klicken Sie aufSpezifische (s) nach Namenund geben Sie den Bucket-Namen ein, den Sie inSchritt 1(username-sfn-tutorial), um Ihre Dateien zu speichern.

    6. Wählen Sie Next (Weiter).

So erstellen Sie das Ziel

  1. In :Ziel 1stellen Sie Folgendes:AWSBedienungist ausgewählt.

  2. In derWählen Sie ein -ZielDropdown-Liste, wählenStep Functions Zustandsautomataus.

  3. In derState Machine (Zustandsautomat)die Zustandsmaschine aus, in der Sie erstellt habenSchritt 1(Helloworld) enthalten.

  4. Behalten Sie alle Standardauswahlen auf der Seite bei und wählen SieWeiteraus.

  5. Klicken Sie aufWeiterund überprüfen Sie die Details der Regel auf derÜberprüfen und erstellenangezeigten.

  6. Wählen Sie Create rule (Regel erstellen).

    Die Regel wird erstellt und dieRegelnwird angezeigt und alle Ihre Amazon-Produkte aufgelistet EventBridge Regeln.

Schritt 4: Testen der -Regel

Da jetzt alles vorbereitet ist, testen Sie nun das Hinzufügen einer Datei zu dem Amazon S3 S3-Bucket und sehen Sie sich die Eingabe der resultierenden Zustandsautomat-Ausführung an.

  1. Fügen Sie Ihrem Amazon S3 S3-Bucket eine Datei hinzu.

    Navigieren Sie zurAmazon S3-Konsolewählen Sie den Bucket, den Sie zum Speichern von Dateien erstellt haben (username-sfn-tutorial) und wählen Sie dannHochladenaus.

  2. Fügen Sie beispielsweise eine Datei hinzutest.pngund wählen Sie dannHochladenaus.

    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 zurStep Functions und wählen Sie den Zustandsautomaten aus, der in Ihrem Amazon verwendet EventBridge Regel (Helloworld)aus.

  4. Wählen Sie die neueste Ausführung dieses Zustandsautomaten aus und erweitern Sie die OptionAusführungseingabeAbschnitts erstellt.

    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 Zustandsautomat-Ausführung.

{ "version": "0", "id": "6c540ad4-0671-9974-6511-756fbd7771c3", "detail-type": "Object Created", "source": "aws.s3", "account": "123456789012", "time": "2022-02-19T01:36:58Z", "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" } }