

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 Functions-Workflows als Reaktion auf Ereignisse
<a name="tutorial-cloudwatch-events-s3"></a>

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 einen State Machine 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 den 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 Schlüsselwörter zu kategorisieren und zuzuweisen.

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
<a name="tutorial-cloudwatch-events-s3-prereqs"></a>

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](tutorial-creating-lambda-state-machine.md).
+ 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
<a name="tutorial-cloudwatch-events-s3-bucket"></a>

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](https://console.aws.amazon.com/s3/) 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.

1. 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*username*, um diesen Namen einzigartig zu machen. Sie müssen alle Ressourcen in derselben AWS Region erstellen.

1. 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
<a name="tutorial-cloudwatch-events-s3-eb-notification"></a>

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](https://console.aws.amazon.com/s3/).

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

1. Wählen Sie **Properties (Eigenschaften)**.

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

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

1. 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
<a name="tutorial-cloudwatch-events-s3-cwe"></a>

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
<a name="tutorial-cloudwatch-events-s3-create-rule"></a>

1. Navigieren Sie zur [ EventBridge Amazon-Konsole](https://console.aws.amazon.com/events/) 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.

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

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

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

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

   1. Behalten Sie **unter Ereignisquelle** die Standardauswahl für **AWS Ereignisse oder EventBridge Partnerereignisse** bei.

   1. Wählen Sie als **AWS Service** **Simple Storage Service (S3)**.

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

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

   1. Wählen Sie **Bestimmte Buckets nach Namen** aus und geben Sie den Bucket-Namen ein, den Sie in [Schritt 1](#tutorial-cloudwatch-events-s3-bucket) (`username-sfn-tutorial`) zum Speichern Ihrer Dateien erstellt haben.

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

### So erstellen Sie das Ziel
<a name="tutorial-cloudwatch-events-s3-create-rule2"></a>

1. Behalten Sie in **Ziel 1** die Standardauswahl des **AWS Dienstes** bei.

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

1. Wählen Sie in der Liste **State Machine** den State Machine aus, den Sie [zuvor erstellt haben](#tutorial-cloudwatch-events-s3-prereqs) (z. B.`Helloworld`).

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

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

1. Ü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
<a name="tutorial-cloudwatch-events-test-rule"></a>

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](https://console.aws.amazon.com/s3/), wählen Sie den Bucket aus, den Sie zum Speichern von Dateien (`username-sfn-tutorial`) erstellt haben, und wählen Sie dann **Upload**.

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

1. Ü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`)](https://console.aws.amazon.com/states/).

1. 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
<a name="tutorial-cloudwatch-events-example"></a>

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"
    }
  }
```