

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.

# Erfahren Sie, wie Sie mit Step Functions beginnen
<a name="getting-started"></a>

Mit dem Step Functions Functions-Dienst können Sie komplexe Anwendungsworkflows orchestrieren. Zu Beginn verwenden Sie Workflow Studio, um einen integrierten **Hello World-Workflow** zu erstellen und auszuführen. Sie werden die automatisch generierte [Sprache der Amazonas-Staaten](concepts-amazon-states-language.md) (ASL) Definition im Code überprüfen. Schließlich erhalten Sie drag-and-drop eine Serviceintegration zur Durchführung von Stimmungsanalysen.

Nachdem Sie dieses Tutorial abgeschlossen haben, wissen Sie, wie Sie Workflow Studio verwenden, um einen Workflow sowohl im **Entwurfs** - als auch im **Codemodus** zu erstellen, zu konfigurieren, auszuführen und zu aktualisieren.

Geschätzte Dauer: **20-30 Minuten**

## Was du bauen wirst
<a name="what-you-will-build"></a>

Ihre erste Zustandsmaschine beginnt mit *Flow-Zuständen*. Flow-Status werden verwendet, um Ihren Arbeitsablauf zu steuern und zu steuern. Nachdem Sie gelernt haben, wie der Workflow ausgeführt wird, fügen Sie eine **Aktion** hinzu, um den Amazon Comprehend-Service in einen **Task-Status** zu integrieren.

Das folgende Diagramm zeigt eine visuelle Darstellung der kompletten Zustandsmaschine, die Sie erstellen werden. Wenn Sie den Hello World State Machine zum ersten Mal erstellen, benötigt er keine zusätzlichen Ressourcen, um ausgeführt zu werden. Die Step Functions Functions-Konsole erstellt alle Status und eine IAM-Rolle mit einem einzigen Klick. Später, wenn Sie die Serviceintegration hinzufügen, müssen Sie eine Rolle mit einer benutzerdefinierten Berechtigungsrichtlinie erstellen.

![\[Visuelle Darstellung des Hello World-Workflows.\]](http://docs.aws.amazon.com/de_de/step-functions/latest/dg/images/hello-world-arch.png)


## Schritt 1 — Erstellen Sie Ihre Zustandsmaschine
<a name="step-1-create-your-state-machine"></a>

 In Step Functions werden *Workflows* als **Zustandsmaschinen** bezeichnet. Wir werden beide Begriffe synonym verwenden. Ihre Workflows werden *Staaten* enthalten, die entweder **Maßnahmen ergreifen** oder **den Ablauf Ihrer Zustandsmaschinen steuern**. 

1. Gehen Sie zur **Step Functions Functions-Konsole.**

1. Wählen Sie in der Step Functions-Konsole in der oberen linken Navigationsleiste oder in den Breadcrumbs "**Step Functions**" aus und wählen Sie dann **Erste** Schritte:  
![\[Illustrativer Screenshot, der zeigt, wie Sie mit dem Hello World-Workflow beginnen\]](http://docs.aws.amazon.com/de_de/step-functions/latest/dg/images/get-started-hello-world.png)

1. Wählen Sie aus den Optionen „**Hello World ausführen“ aus**:  
![\[Illustrativer Screenshot, der zeigt, wie der Hello World-Workflow ausgewählt wird\]](http://docs.aws.amazon.com/de_de/step-functions/latest/dg/images/create-hello-world.png)

**Tipp**  
Wir empfehlen, die kurze Anleitung in der Konsole durchzugehen, um sich mit der Benutzeroberfläche vertraut zu machen.

### Überblick über Workflow Studio
<a name="overview-of-workflow-studio"></a>

 Mit Workflow Studio for Step Functions können Sie drag-and-drop Zustände visuell auf einer Arbeitsfläche anzeigen, um Workflows zu erstellen. 

 Sie können Status hinzufügen und bearbeiten, Schritte konfigurieren, Ergebnisse transformieren und die Fehlerbehandlung einrichten. Der folgende Screenshot zeigt vier wichtige Bereiche der Benutzeroberfläche, die Sie zum Erstellen Ihrer Zustandsmaschinen verwenden werden. 

![\[Illustrativer Screenshot der vier wichtigen Bereiche der Workflow Studio-Oberfläche\]](http://docs.aws.amazon.com/de_de/step-functions/latest/dg/images/wfs-panel-overview.png)


**Modi** — Workflow Studio bietet drei Betriebsmodi und ist standardmäßig auf den visuellen Designmodus eingestellt. 
+ **Design** — ein visueller Bearbeitungsmodus, in dem Sie drag-and-drop Status in Ihren Workflow einfügen können.
+ **Code** — ein Modus, der sich auf den Amazon States-Sprachcode konzentriert, der auch als ASL-Code bezeichnet wird. Sie können den ASL-Code direkt bearbeiten und sehen, wie sich die Änderungen im visuellen Design widerspiegeln.
+ Konfiguration — **Konfigurationsoptionen**, einschließlich Name und Typ der Zustandsmaschine (Standard oder Express), zugewiesene Rolle bei der Ausführung des Workflows, Protokollierung, Ablaufverfolgung, Versionierung, Verschlüsselung und Tags.

 Der **States-Browser** enthält die folgenden drei Registerkarten: 
+ **Aktionen** — eine Liste der Aktionen AWSAPIs , die Sie drag-and-drop in Ihren Workflow integrieren können. Jede Aktion steht für einen Workflow-Status einer Aufgabe.
+ **Flow** — Ablaufstatus zur Steuerung der Reihenfolge der Schritte in Ihrem Workflow.
+ **Muster** — ready-to-use wiederverwendbare Bausteine, wie z. B. die iterative Verarbeitung von Daten in einem Amazon S3 S3-Bucket.

 In der **Arbeitsfläche und im Workflow-Diagramm** wechseln Sie drag-and-drop zu Ihrem Workflow-Diagramm, ändern die Reihenfolge der Zustände und wählen die Status aus, die konfiguriert und getestet werden sollen. 

 Im **Inspektorfenster** können Sie die Eigenschaften jedes auf der Leinwand ausgewählten Status anzeigen und bearbeiten. Sie können den Schalter *Definition* aktivieren, um den Code für den aktuell ausgewählten Status anzuzeigen. 

### Überblick über die Zustandsmaschine
<a name="overview-of-the-state-machine"></a>

 Der Hello World-Workflow beginnt mit einem **Pass-Status**, der seine Eingabe an seine Ausgabe *weitergibt*, ohne Arbeit auszuführen. Pass-Status können verwendet werden, um eine statische JSON-Ausgabe zu generieren oder JSON-Eingaben zu transformieren, bevor die Daten an den nächsten Status übergeben werden. Pass-States sind nützlich beim Konstruieren und Debuggen von Zustandsmaschinen. 

 Der nächste Status, ein **Choice-Status**, verwendet die Daten, `IsHelloWorldExample` um den nächsten Zweig des Workflows auszuwählen. Wenn die erste Regel zutrifft, pausiert der Workflow im **Status Warten** und führt dann zwei Aufgaben im **Status Parallel** aus, bevor er zu einem Checkpoint übergeht und der Workflow erfolgreich beendet wird. Wenn es keine Übereinstimmung gibt, nimmt der Workflow standardmäßig den **Status Fehlgeschlagen an, bevor der Zustandsmaschine** angehalten wird. 

 Wartestatus kann nützlich sein, wenn Sie warten möchten, bevor Sie weitere Arbeiten ausführen. Möglicherweise wartet Ihr Workflow nach einer Auftragseingabe 30 Sekunden, sodass Ihr Kunde Zeit hat, eine falsche Lieferadresse zu bemerken und zu korrigieren. 

 Parallele Zustände können mehrere Prozesse auf Ihren Daten ausführen. Möglicherweise druckt der Workflow gleichzeitig ein Bestellticket, aktualisiert das Inventar und erstellt einen täglichen Verkaufsbericht. 

![\[Illustratives Bild des Hello World-Workflows mit den ersten Schritten\]](http://docs.aws.amazon.com/de_de/step-functions/latest/dg/images/workflow-1-hello-world.png)


### Sehen Sie sich den Workflow-Code (ASL) an
<a name="view-the-code"></a>

 Ihr erster Zustandsmaschine ist in der Tat ziemlich detailliert. Gehen Sie also näher darauf ein, indem Sie sich den Code ansehen. 

 Zustandsmaschinen werden mithilfe der [Amazon States Language (ASL)](https://states-language.net/) definiert, einer Open-Source-Spezifikation, die eine JSON-basierte Sprache zur deklarativen Beschreibung von Zustandsmaschinen beschreibt. 

**Um die gesamte Zustandsmaschinen-Definition anzuzeigen**

1. Wählen Sie die Schaltfläche **\$1\$1 Code**, um den ASL-Code anzuzeigen. 

1. Sehen Sie sich den Code auf der linken Seite an und vergleichen Sie ihn mit dem State-Machine-Diagramm auf der rechten Seite. 

1. Wählen Sie einige Staaten auf der Leinwand aus, die Sie überprüfen möchten. Wählen Sie beispielsweise den **Status „Auswahl**“ aus.

![\[Illustratives Bild der Codeansicht\]](http://docs.aws.amazon.com/de_de/step-functions/latest/dg/images/hello-code-view.png)


 Ist Ihnen aufgefallen, wie die Definition des Bundesstaates in der Codeansicht hervorgehoben ist? 

**So zeigen Sie Code im Inspector an**

1. Wechseln Sie zurück in den **Entwurfsmodus**.

1. Erweitern Sie das **Inspektorfenster** auf der rechten Seite.

1. Wählen Sie im Workflow-Diagramm im Canvas-Bereich den **Status „Auswahl**“ aus.

1. Wählen Sie im **Inspektorfenster** den Schalter „**Definition**“.

 Versuchen Sie, andere Bundesstaaten auszuwählen. Sehen Sie, wie der ASL-Code für jeden ausgewählten Bundesstaat in die Ansicht gescrollt und hervorgehoben wird? 

### (Tatsächlich) Erstellen Sie die Zustandsmaschine
<a name="actually-create-the-state-machine"></a>

**Warnung: Benennen Sie jetzt Ihre Zustandsmaschine\$1**  
Sie **können eine Zustandsmaschine nicht umbenennen**, nachdem Sie sie erstellt haben. Wählen Sie einen Namen, **bevor** Sie Ihren State Machine speichern.

 Bis jetzt haben Sie an einem Entwurf Ihres State Machine gearbeitet. Es wurden noch keine Ressourcen erstellt. 

 **Um Ihre Zustandsmaschine umzubenennen und zu erstellen** 

1. Wählen Sie **den Konfigurationsmodus**.

1. Geben Sie als Namen der Zustandsmaschine ein `MyFirstStateMachine`

1. Akzeptieren Sie für Berechtigungen die Standardeinstellung *Neue Rolle erstellen*.

1. Wählen Sie die Schaltfläche **Erstellen**, um Ihre Zustandsmaschine **tatsächlich** zu erstellen. 

 Sie sollten Benachrichtigungen darüber erhalten, dass Ihr Zustandsmaschine und eine neue IAM-Rolle erstellt wurden. 

 Sie erhalten automatisch die Option, den State Machine zu starten. Das wirst du im nächsten Schritt tun\$1 

![\[Illustratives Bild des Hello World-Workflows mit den ersten Schritten\]](http://docs.aws.amazon.com/de_de/step-functions/latest/dg/images/workflow-created.png)


**Workflow-Erstellung abgeschlossen\$1**  
Step Functions hat Ihren Workflow und Ihre IAM-Rolle erstellt. Jetzt sind Sie bereit, Ihre Zustandsmaschine zu starten.

## Schritt 2 — Starten Sie Ihren State Machine
<a name="step-2-start-your-state-machine"></a>

 Nachdem Ihr State Machine erstellt wurde, können Sie mit der Ausführung Ihres Workflows beginnen. 

 Workflows akzeptieren optional **Eingaben**, die im Status verwendet, an integrierte Dienste gesendet und an den nächsten Status übergeben werden können.

Die **Hello World-Zustandsmaschine** ist eigenständig und benötigt keine Eingabe.

![\[Illustratives Bild der ersten Schritte\]](http://docs.aws.amazon.com/de_de/step-functions/latest/dg/images/start_283486381.jpg)


 **Um die Zustandsmaschine zu starten**

1. Geben `hello001` Sie den Namen der Ausführung ein.

1. Lassen Sie das Eingabefeld *leer*.

1. Wählen Sie die Schaltfläche **Ausführung starten**.

![\[Illustratives Bild zum Starten eines Workflows.\]](http://docs.aws.amazon.com/de_de/step-functions/latest/dg/images/hello001.png)


### Überprüfen Sie die Ausführungsdetails
<a name="review-the-execution-details"></a>

 Unmittelbar nach dem Start sollten Sie sehen, dass die ersten beiden Status **erfolgreich** waren. 

 Nach einer kurzen Wartezeit werden die restlichen Statusübergänge ausgeführt, um den Workflow abzuschließen. 

 Fragst du dich, wie der **Status Choice** aussieht (*ist Hello World Beispiel)?* ) hat beschlossen, in den Status **Wait for X Seconds** zu wechseln? 

1. Hinweis: Der erste Schritt in der Zustandsmaschine enthält die Daten, die für die Branch-Entscheidung benötigt werden 

1. In der **Diagrammansicht** können Sie den Fortschritt während der Ausführung überwachen und Details für jeden Status einsehen. 

1. Wählen Sie den **Status „Erste Prüfung**“ (mit den Namen „*Variablen setzen“ und „Ausgabe des Zustands*“) und überprüfen Sie dann die Registerkarte „**Eingabe/Ausgabe**“. 

 Sie sollten sehen, dass die **State-Eingabe** leer ist, die **State-Ausgabe** jedoch JSON enthält, das den Wert auf festlegt. `IsHelloWorldExample` `true` 

![\[Ausführung 001\]](http://docs.aws.amazon.com/de_de/step-functions/latest/dg/images/hello001-graph-view.png)


 Wechseln Sie von der **Diagrammansicht** zur **Tabellenansicht**, um eine Liste der Staaten nach Name, Typ und Status anzuzeigen. 

![\[Ausführung 001, Tabellenansicht\]](http://docs.aws.amazon.com/de_de/step-functions/latest/dg/images/hello001-table.png)


**Tipp**  
Notieren Sie sich die Felder **Dauer** und **Zeitleiste** im vorherigen Screenshot. Auf einen Blick können Sie sehen, welche Staaten mehr Zeit in Anspruch nehmen als andere.

 Auf dieser Seite mit den Ausführungsdetails gibt es zwei weitere Ansichten zu entdecken: die **Ereignisansicht** und die **Statusansicht**. 

 Die **Ereignisansicht** ist eine detaillierte detaillierte Ansicht des Datenflusses von Status zu Status. 

 Erweitern Sie das erste **PassStateEntered**und die **PassStateExited**Ereignisse in der Tabelle „**Ereignisansicht**“, um zu sehen, wie der Status keine Eingaben akzeptiert, eine Variable mit `CheckpointCount` dem Wert Null zuweist und die Ausgabe erzeugt, die Sie zuvor gesehen haben. 

![\[Ausführung 001, Ereignisansicht\]](http://docs.aws.amazon.com/de_de/step-functions/latest/dg/images/hello001-event-view.png)


 Schließlich haben Sie die **Statusansicht**, die der **Tabellenansicht** ähnelt. In der Tabelle mit der **Statusansicht** können Sie Status selektiv erweitern, **sodass** nur die Eingaben und Ausgaben für jeden Status angezeigt werden: 

![\[Statusansicht von Ausführung 001\]](http://docs.aws.amazon.com/de_de/step-functions/latest/dg/images/hello001-state-view.png)


**Herzlichen Glückwunsch\$1 Sie haben Ihre erste Step Functions Functions-Zustandsmaschine ausgeführt\$1**  
 Die Verwendung eines Pass-Status zum Hinzufügen **statischer Daten** zu einem Workflow ist ein gängiges Muster, insbesondere bei der Problembehandlung.   
 Im nächsten Schritt aktualisieren Sie den Workflow, sodass Sie Ihre State-Machine-Eingabe *dynamisch* festlegen können. 

## Schritt 3 — Verarbeiten Sie externe Eingaben
<a name="step-3-process-external-input"></a>

 Es ist nicht realistisch`IsHelloWorldExample`, den Wert von innerhalb des Workflows auf einen konstanten Wert festzulegen. Sie sollten davon ausgehen, dass Ihre Zustandsmaschine auf unterschiedliche Eingabedaten reagiert. 

 In diesem Schritt zeigen wir Ihnen, wie externe JSON-Daten als Eingabe für Ihren Workflow verwendet werden können: 

![\[Verarbeiten Sie externe Eingaben\]](http://docs.aws.amazon.com/de_de/step-functions/latest/dg/images/process-external-input.png)


### Entfernen Sie die hartcodierte Eingabe
<a name="remove-the-hardcoded-input"></a>

 Ersetzen Sie zunächst den hartcodierten Wert im Status „**Ausgabe** des ersten Durchlaufs“. 

1. Bearbeiten Sie Ihren Hello World-Zustandsmaschine, indem Sie oben rechts auf der Seite auf die Schaltfläche **Zustandsmaschine bearbeiten** klicken.

1. Wählen Sie den ersten **Pass-Status** nach **Start (mit** dem Namen „*Variablen festlegen“ und „Statusausgabe*“) und wählen Sie dann die Registerkarte „**Ausgabe**“.

1. Ersetzen Sie die **Ausgabe** durch das folgende JSON-Format:

   ```
   {
     "IsHelloWorldExample": "{% $states.input.hello_world %}",
     "ExecutionWaitTimeInSeconds":  "{% $states.input.wait %}"
   }
   ```

1. Speichern Sie die Zustandsmaschine.

 Die aktualisierte Statusausgabe ruft mithilfe eines JSONata Ausdrucks Eingabedaten aus der reservierten Variablen **[\$1states](transforming-data.md#transforming-reserved-variable-states)** ab. Diese Werte werden als Ausgabe an den nächsten Status übergeben und dienen als Eingabe für den nächsten Status.

### Führen Sie den aktualisierten Workflow mit den Eingabedaten aus
<a name="run-the-updated-workflow-with-input-data"></a>

 Führen Sie als Nächstes den Workflow aus und stellen Sie externe Eingabedaten als JSON bereit. 

1. Wählen Sie die Schaltfläche **Ausführen**, um den Workflow auszuführen.

1. Verwenden Sie für den **Namen** die zufällig generierte ID. 

1. Verwenden Sie den folgenden JSON-Code für das Eingabefeld:

   ```
   {
       "wait" : 20,
       "hello_world": true
   }
   ```

1. Wählen Sie die Schaltfläche **Ausführung starten**.

 Die Ausführung Ihrer Zustandsmaschine sollte viel länger warten (20 Sekunden), aber irgendwann sollte sie mit der von Ihnen eingegebenen Eingabe erfolgreich sein. 

 Überprüfen Sie in der Diagrammansicht die **Eingabe/Ausgabe** für den Status „First Pass“. Beachten Sie, wie die von Ihnen eingegebene Eingabe in Ausgaben umgewandelt wurde. Sehen Sie sich auch die **Eingabe und Ausgabe der Ausführung** oben auf der Seite mit den Ausführungsdetails an. An beiden Stellen wird die Eingabe angezeigt, mit der Sie die Ausführung gestartet haben. 

**Tipp**  
**Was erwarten Sie, wenn Sie eine neue Ausführung ausführen, bei der *hello\$1world* auf false gesetzt ist?** Versuchen Sie es\$1 

### Überprüfen Sie die Workflow-Ausführungen
<a name="review-workflow-executions"></a>

 Nachdem Sie Ihren Workflow nun einige Male ausgeführt haben, überprüfen Sie die Ausführungsdetails, um die Ausführungen Ihres Workflows zu überprüfen. 

 **Um die Ausführungsdetails zu überprüfen**

1. Wählen Sie in der Navigationsleiste oder im Menü auf der linken Seite die Option **State Machines** aus.

1. Wählen Sie Ihre Zustandsmaschine.

 Auf der Registerkarte **Ausführungen** sollte eine Liste von Ausführungen angezeigt werden, die dem folgenden Screenshot ähnelt: 

![\[Illustrativer Screenshot, der eine Beispielliste von Hello-Workflow-Ausführungen zeigt.\]](http://docs.aws.amazon.com/de_de/step-functions/latest/dg/images/hello-executions.png)


 Ein letzter Hinweis: Die Namen der Workflow-Ausführung müssen eindeutig sein und **können nicht wiederverwendet** werden. Obwohl wir in diesem Tutorial einen Kurznamen (`hello001`) vorgeschlagen haben, empfehlen wir, eine Benennungskonvention zu verwenden, die für Ihre Produktionsworkloads immer eindeutig ist. 

**Tipp**  
 **Herzlichen Glückwunsch\$1** Sie haben Ihren Workflow so geändert, dass *er externe Eingaben* verarbeitet, die sich bei jeder Ausführung Ihres Workflows ändern können. 

## Schritt 4 — Integrieren Sie einen Service
<a name="step-4-integrate-a-service"></a>

 Step Functions Functions-Zustandsmaschinen können mithilfe von [AWSSDK-Integrationen](https://docs.aws.amazon.com/step-functions/latest/dg/supported-services-awssdk.html) über 220 AWS Dienste aufrufen. AWSDienste bieten über 10.000 potenzielle API-Aktionen für Ihre Zustandsmaschinen. 

 In diesem Schritt integrieren Sie eine Amazon Comprehend Comprehend-Aufgabe zur **Stimmungsanalyse**, um Ihre State-Machine-Eingaben zu verarbeiten. 

 *Serviceintegrationen verwenden eines von drei Serviceintegrationsmustern:* 

1. **Antwort anfordern** (Standard) — Warten Sie auf die HTTP-Antwort und fahren Sie dann *sofort* mit dem nächsten Status fort.

1. **Job ausführen** (*.sync*) — Warten Sie, bis ein Job abgeschlossen ist, bevor Sie mit dem nächsten Schritt fortfahren.

1. **Warte auf Rückruf** *(. waitForTask*Token) — Unterbrechen Sie einen Workflow, bis ein Aufgabentoken von einem externen Prozess zurückgegeben wird.

![\[Illustrativer Screenshot, der eine Serviceintegration zeigt.\]](http://docs.aws.amazon.com/de_de/step-functions/latest/dg/images/AdobeStock_513621530_integration_1000.jpg)


 Für Ihre erste Integration verwenden Sie das Integrationsmuster **Request Response** (Standard). 

### Wie funktionieren Integrationen?
<a name="how-do-integrations-work"></a>

 Ein *Task-Status* steht für eine einzelne Arbeitseinheit, die von einer Zustandsmaschine ausgeführt wird. Die gesamte Arbeit in Ihrer Zustandsmaschine wird durch Aufgaben durchgeführt. 

 Eine Aufgabe führt in der Regel Arbeit aus, indem sie Eingaben an die API-Aktionen anderer Dienste weiterleitet, die dann ihre eigene Arbeit ausführen. Sie können angeben, wie eine Aufgabe ausgeführt wird, indem Sie eine Reihe von Feldern verwenden`Credentials`, darunter: `Retry``Catch`,`TimeoutSeconds`,, und mehr. Weitere Informationen zu Aufgaben finden Sie unter[Workflow-Status der Aufgabe](state-task.md). 

 Um AWS SDK-Integrationen zu verwenden, geben Sie den **Dienstnamen** und die **API** an, die aufgerufen werden sollen. Für einige Integrationen sind auch Parameter erforderlich. 

 Sie können Amazon States Language verwenden, um eine AWS API-Aktion im **Ressourcenfeld** eines Aufgabenstatus anzugeben. Sie können dem Servicenamen optional einen Service-Integrationstyp hinzufügen. 

 Um eine API-Aktion anzugeben, verwenden Sie die folgende Vorlage für einen Ressourcennamen:

```
arn:aws:states:::aws-sdk:serviceName:apiAction.[serviceIntegrationPattern]
```

**Groß-/Kleinschreibung des Parameters**  
Beachten Sie, dass API-Aktionen in *CamelCase* (Anfangsbuchstaben in Kleinbuchstaben), aber in Pascal-Schreibweise (Anfangsbuchstaben in Großbuchstaben) ausgeführt *ParameterNames*werden.

 **Beispiele für Ressourcennamen**
+ `arn:aws:states:::aws-sdk:ec2:describeInstances`gibt die Ergebnisse des Aufrufs der Amazon EC2 DescribeInstances-API zurück.
+ `arn:aws:states:::aws-sdk:s3:listBuckets`gibt die Ergebnisse des Aufrufs der Amazon S3 ListBuckets-API zurück.
+ `arn:aws:states:::aws-sdk:sfn:startExecution`startet die Ausführung einer verschachtelten Step Functions Functions-Zustandsmaschine und gibt die Ergebnisse dieses Workflows zurück.

 Wenn Step Functions einen anderen Dienst unter Verwendung des `Task` Status aufruft, ist das Standardmuster [Request Response](https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-default). Mit dem **Request Response-Integrationsmuster** ruft Step Functions einen Dienst auf, empfängt eine Antwort und wechselt ***sofort*** zum nächsten Status. 

![\[Integration der Stimmungserkennung\]](http://docs.aws.amazon.com/de_de/step-functions/latest/dg/images/integrate_sentiment_592194331.png)


### Schritt 4.1 — Status der Stimmungsanalyse hinzufügen
<a name="step-1-add-sentiment-analysis-state"></a>

1. **Bearbeiten Sie** Ihre **MyFirstStateMachine**Zustandsmaschine.

1. Suchen Sie im **States-Browser im** Bedienfeld „**Aktionen**“ nach`DetectSentiment`.

1. Ziehen Sie **Comprehend** per Drag & Drop DetectSentiment auf den **Standardzweig** des Status **Choice**.

1. Wählen Sie den Status „**Fehlgeschlagen**“ aus und löschen Sie ihn.

1. Ziehen **Sie im **States-Browser** auf der Registerkarte Flow** den Status **Success** nach hinten **DetectSentiment**.

### Schritt 4.2 — Konfigurieren Sie den Status der Stimmungsanalyse
<a name="step-2-configure-the-sentiment-analysis-state"></a>

1. Wählen Sie den Schritt **Comprehend**, um ihn im Inspektorfenster zu konfigurieren.

1. Wählen Sie die Registerkarte **Argumente und Ausgabe** aus und ersetzen Sie dann die **Argumente** durch den folgenden JSON-Code: 

   ```
   {
      "LanguageCode": "en",
      "Text": "{% %}"
   }
   ```

1. Platzieren Sie **den Cursor zwischen** den Prozentzeichen: `{% %}` und geben Sie ein: `$`

1. Verwenden Sie die **automatische Vervollständigung** im Editor, um auszuwählen`states`,

    dann tippe `.` und wähle `context` 

    dann tippe `.` und wähle `Execution` 

    dann tippe `.` und wähle `Input` 

    Geben Sie abschließend ein, `.feedback_comment` um die erste Eingabe aus dem **Kontextobjekt** abzurufen. 

 Nachdem Sie diese Optionen für die automatische Vervollständigung ausgewählt haben, sollten Sie den folgenden JSON-Code für Ihre **Statusargumente** haben: 

```
{
    "LanguageCode": "en",
    "Text": "{% $states.context.Execution.Input.feedback_comment %}"
}
```

**Verwenden der automatischen Vervollständigung des Editors**  
Mit der automatischen Vervollständigung des Editors können Sie Ihre Optionen erkunden.  
Die automatische Vervollständigung listet Ihre Variablen, die reservierte **[\$1states-Variable](transforming-data.md#transforming-reserved-variable-states)**, die das Kontextobjekt enthält, und die verfügbaren Funktionen mit ihren Definitionen auf\$1

### Schritt 4.3 — Konfigurieren Sie eine Identitätsrichtlinie
<a name="step-3-configure-an-identity-policy"></a>

 Bevor Sie den Workflow ausführen können, müssen Sie eine **Rolle** und eine **Richtlinie** erstellen, damit der Zustandsmaschine API-Aufrufe an den externen Dienst ausführen kann. 

 **So erstellen Sie eine IAM-Rolle für Step Functions** 

1. **Gehen Sie auf einer neuen Registerkarte zur IAM-Konsole und wählen Sie Rollen aus.**

1. Wählen Sie **Create a new role**. 

1. Wählen Sie unter **Vertrauenswürdiger Entitätstyp** die Option*AWSService*.

1. Wählen **Sie für Anwendungsfall***Step Functions*.

1. Wählen **Sie für Berechtigungen hinzufügen** die Option **Weiter** aus, um die Standardrichtlinie zu akzeptieren. Nachdem Sie die Rolle erstellt haben, fügen Sie eine Richtlinie für Comprehend hinzu.

1. Geben Sie unter **Name** *HelloWorldWorkflowRole* ein.

1. Wählen Sie **Rolle erstellen** aus.

 **So fügen Sie dem **HelloWorldWorkflowRole**für Amazon Comprehend eine Richtlinie hinzu** 

1. Wählen Sie die Rolle aus und bearbeiten Sie sie. **HelloWorldWorkflowRole**

1. Wählen Sie „**Berechtigung hinzufügen**“ und dann „**Inline-Richtlinie erstellen**“.

1. Wählen Sie **Comprehend** für den Service aus.

1. **Wählen **Sie unter Lesen** die Option **DetectSentiment**Weiter**

1. Geben Sie als **Richtlinienname** den *DetectSentimentPolicy* Text **Richtlinie erstellen ein**.

Wenn Sie sich die Richtlinie ansehen, werden Sie feststellen, dass sie allen Ressourcen erlaubt, die **Aktion auszuführen**`"comprehend:DetectSentiment"`.

 **So hängen Sie die IAM-Rolle an die Step Functions Functions-Zustandsmaschine an** 

1. Kehren Sie zur Bearbeitung Ihrer Zustandsmaschine zurück und wählen Sie die Registerkarte **Config** aus.

1. Wählen Sie in der Dropdownliste „**Ausführungsrolle**“ die Option aus*HelloWorldWorkflowRole*.

1. Speichern Sie Ihre Zustandsmaschine.

### Schritt 4.4 — Führen Sie Ihren State Machine aus
<a name="step-4-run-your-state-machine"></a>

 Starten Sie die Ausführung Ihrer Zustandsmaschine mit der folgenden JSON-Eingabe: 

```
{
    "hello_world": false,
    "wait": 42,
    "feedback_comment" : "This getting started with Step Functions workshop is a challenge!"
}
```

#### Behebung eines Berechtigungsfehlers...
<a name="policy-section"></a>

 Ohne die richtige Richtlinie erhalten Sie einen **Berechtigungsfehler**, der dem folgenden ähnelt: 

```
User: arn:aws:sts::account-id:assumed-role/StepFunctions-MyStateMachine-role is not authorized
to perform: comprehend:DetectSentiment because no identity-based policy allows the comprehend:DetectSentiment
action (Service: Comprehend, Status Code: 400, Request ID: a1b2c3d4-5678-90ab-cdef-EXAMPLE11111)
```

 In der vorherigen Fehlermeldung werden Sie darüber informiert, dass Ihre Zustandsmaschine nicht berechtigt ist, den externen Dienst zu verwenden. Gehen Sie einen Schritt zurück und stellen Sie sicher, dass Sie eine Identitätsrichtlinie konfiguriert haben. 

 **Übe, was du gelernt hast\$1**

 Bevor Sie sich mit komplexeren Arbeitsabläufen befassen, sollten Sie das Gelernte anhand der folgenden Aufgaben in die Praxis umsetzen: 
+  Gehen Sie den **DetectSentiment**Schritt noch einmal durch. Sehen Sie sich die input/output in den verschiedenen Ansichten an, um die Ergebnisse der Stimmungserkennung zu sehen. 
+ Finden Sie die **Dauer** des DetectSentiment Zustands in der Tabellenansicht.
+ Ändern Sie den Kommentar in der **JSON-Eingabe** und führen Sie dann Ihre Zustandsmaschine erneut aus.

Weitere Informationen zu den Ergebnissen der Stimmungsanalyse finden Sie unter [Amazon Comprehend](https://docs.aws.amazon.com/comprehend/latest/dg/how-sentiment.html) — Sentiment.

 Eine Möglichkeit, über die Integration von Request Response nachzudenken, ist, dass die Antwort im Allgemeinen nur eine *Bestätigung* der Anfrage darstellt. *Bei einigen Integrationen, wie z. B. der Stimmungsanalyse, stellt die Bestätigung jedoch tatsächlich den Abschluss der Aufgabe dar.* 

 Die wichtigste Erkenntnis besteht darin, dass der `Task` Staat **nicht auf die zugrundeliegende Aufgabe wartet**, wenn es um Request-Response-Integrationen geht. Um auf eine Antwort zu warten, müssen Sie das Dienstintegrationsmuster *Run a Job (.sync)* untersuchen.

**Herzlichen Glückwunsch\$1**  
 Sie haben Ihre erste Zustandsmaschine erstellt und mithilfe des **Request Response-Musters** eine Aufgabe zur Stimmungsanalyse integriert.

**Wir freuen uns über Ihr Feedback\$1**  
Wenn Sie dieses Tutorial für die ersten Schritte hilfreich fanden oder Vorschläge zur Verbesserung des Tutorials haben, teilen Sie uns dies mit, indem Sie die Feedback-Optionen auf dieser Seite verwenden.

## Bereinigen von Ressourcen
<a name="clean-up-resources"></a>

 Gehen Sie wie folgt vor, um die von Ihnen erstellten Ressourcen zu bereinigen: 

1. Navigieren Sie in der AWS Konsole [zur Seite Step Functions](https://console.aws.amazon.com/states/home).

1. Wählen Sie im Navigationsbereich auf der linken Seite **State Machines** aus.

1. Wählen Sie das Symbol **MyFirstStateMachine** 

1. Um die IAM-Rollen zu löschen

   1 — Folgen Sie dem Link für die **IAM-Rolle**, um auf einer neuen Registerkarte zur IAM-Rollenseite zu gelangen. Löschen Sie die benutzerdefinierte zugehörige Rolle.

   2 — Suchen Sie in IAM-Rollen nach der automatisch generierten Rolle, die enthält. *MyFirstStateMachine* Löschen Sie die automatisch generierte Rolle.

1. Kehren Sie zur Registerkarte der Step Functions Functions-Konsole zurück und wählen Sie das Drop-down-Menü **Aktionen** aus. Wählen Sie dann **Löschen** aus, um die Zustandsmaschine zu löschen.

Ihr Zustandsmaschine und die zugehörige Rolle sollten jetzt erfolgreich gelöscht werden.