

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.

# Tutorial: Erstellen Sie eine WebSocket API mit einem AWS Integration
<a name="websocket-api-step-functions-tutorial"></a>

In diesem Tutorial erstellen Sie eine serverlose Broadcast-Anwendung mit einer WebSocket API. Kunden können Nachrichten erhalten, ohne Updates abfragen zu müssen.

 In diesem Tutorial sehen Sie, wie Nachrichten an verbundene Clients übertragen werden. Enthalten sind außerdem ein Beispiel für einen Lambda-Genehmiger, eine Scheinintegration und eine Nicht-Proxy-Integration für Step Functions.

![Übersicht über die Architektur der API, die Sie in diesem Tutorial erstellen.](https://docs.aws.amazon.com/de_de/apigateway/latest/developerguide/images/ws-sfn-app.png)


Nachdem Sie Ihre Ressourcen mithilfe einer CloudFormation Vorlage erstellt haben, verwenden Sie die API Gateway Gateway-Konsole, um eine WebSocket API zu erstellen, die sich in Ihre AWS Ressourcen integrieren lässt. Sie fügen Ihrer API einen Lambda-Authorizer hinzu und erstellen eine AWS Serviceintegration mit Step Functions, um eine State-Machine-Ausführung zu starten. Der Zustandsautomat für die Step Functions ruft eine Lambda-Funktion auf, die eine Nachricht an alle verbundenen Clients sendet.

Nachdem Sie Ihre API erstellt haben, testen Sie die Verbindung zu Ihrer API und prüfen, ob Nachrichten gesendet und empfangen werden. Dieses Tutorial nimmt ungefähr 30 Minuten in Anspruch.

**Topics**
+ [Voraussetzungen](#websocket-api-step-functions-prerequisites)
+ [Schritt 1: Erstellen von Ressourcen](#websocket-api-step-functions-create-dependencies)
+ [Schritt 2: Erstellen Sie eine API WebSocket](#websocket-api-step-functions-create-api)
+ [Schritt 3: Erstellen eines Lambda-Genehmigers](#websocket-api-step-functions-create-authorizer)
+ [Schritt 4: Erstellen einer bidirektionalen Scheinintegration](#websocket-api-step-functions-create-mock-integration)
+ [Schritt 5: Erstellen einer Nicht-Proxy-Integration mit Step Functions](#websocket-api-step-functions-create-step-function-integration)
+ [Schritt 6: Ihre API testen](#websocket-api-step-functions-test-api)
+ [Schritt 7: Bereinigen](#websocket-api-step-functions-cleanup)
+ [Nächste Schritte](#websocket-api-step-functions-next-steps)

## Voraussetzungen
<a name="websocket-api-step-functions-prerequisites"></a>

Sie benötigen die folgenden Voraussetzungen:
+ Ein AWS Konto und ein AWS Identity and Access Management Benutzer mit Konsolenzugriff. Weitere Informationen finden Sie unter [Einrichten der API Gateway](setting-up.md).
+ `wscat` für einen Verbindungsaufbau zu Ihrer API. Weitere Informationen finden Sie unter [Wird verwendet`wscat`, um eine Verbindung zu einer WebSocket API herzustellen und Nachrichten an diese zu senden](apigateway-how-to-call-websocket-api-wscat.md).

Wir empfehlen, dass Sie das WebSocket Chat-App-Tutorial abschließen, bevor Sie mit diesem Tutorial beginnen. Informationen zum Ausfüllen des WebSocket Chat-App-Tutorials finden Sie unter[Tutorial: Erstellen Sie eine WebSocket Chat-App mit einer WebSocket API, Lambda und DynamoDB](websocket-api-chat-app.md).

## Schritt 1: Erstellen von Ressourcen
<a name="websocket-api-step-functions-create-dependencies"></a>

Laden Sie [die Vorlage zur App-Erstellung für CloudFormation](samples/ws-sfn-starter.zip) herunter und entpacken Sie sie. Sie verwenden diese Vorlage, um Folgendes zu erstellen:
+ Lambda-Funktionen, die API-Anforderungen bearbeiten und den Zugriff auf Ihre API genehmigen.
+ Eine DynamoDB-Tabelle zum Speichern von Client-IDs und der vom Lambda-Genehmiger zurückgegebenen ID des Prinzipal-Benutzers.
+ Einen Zustandsautomaten für die Step Functions zur Versendung von Nachrichten an verbundene Clients.

**Um eine zu erstellen CloudFormation Stack**

1. Öffnen Sie die CloudFormation Konsole unter [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Wählen Sie **Stack erstellen** und dann **Mit neuen Ressourcen (Standard)** aus.

1. Wählen Sie unter **Vorlage angeben** die Option **Vorlagendatei hochladen** aus.

1. Wählen Sie die Vorlage aus, die Sie heruntergeladen haben.

1. Wählen Sie **Weiter** aus. 

1. Geben Sie für **Stack-Name** die Zeichenfolge **websocket-step-functions-tutorial** ein und klicken Sie auf **Weiter**.

1. Wählen Sie in **Stack-Optionen konfigurieren** die Option **Weiter** aus.

1. Bestätigen Sie bei **Capabilities**, dass IAM-Ressourcen in Ihrem Konto erstellt werden CloudFormation können.

1. Wählen Sie **Weiter** und anschließend **Absenden** aus.

CloudFormation stellt die in der Vorlage angegebenen Ressourcen bereit. Die Bereitstellung der Ressourcen kann einige Minuten dauern. Wählen Sie die Registerkarte **Ausgaben** aus, um die von Ihnen erstellten Ressourcen und deren ARNs zu sehen. Wenn der Status Ihres CloudFormation Stacks **CREATE\_COMPLETE** lautet, können Sie mit dem nächsten Schritt fortfahren.

## Schritt 2: Erstellen Sie eine API WebSocket
<a name="websocket-api-step-functions-create-api"></a>

Sie erstellen eine WebSocket API, um Client-Verbindungen zu verarbeiten und Anfragen an die Ressourcen weiterzuleiten, die Sie in Schritt 1 erstellt haben.

**Um eine WebSocket API zu erstellen**

1. Melden Sie sich bei der API Gateway Gateway-Konsole unter an [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Wählen Sie **Create API** (API erstellen) aus. Wählen Sie dann für **WebSocket API** die Option **Build** aus.

1. Geben Sie in **API name** (API-Name) **websocket-step-functions-tutorial** ein.

1. Wählen Sie unter **IP-Adresstyp** die Option **IPv4** aus.

1. Geben Sie in **Route selection expression** (Ausdruck für die Routenauswahl) **request.body.action** ein.

   Der Ausdruck für die Routenauswahl legt die Route fest, die von API Gateway aufgerufen wird, wenn ein Client eine Nachricht sendet.

1. Wählen Sie **Weiter** aus.

1. Wählen Sie unter **Vordefinierte Routen** die Optionen **$connect hinzufügen**, **$disconnect hinzufügen** und **$default hinzufügen** aus.

   Die Routen **$connect** und **$disconnect** sind spezielle Routen, die API Gateway automatisch aufruft, wenn ein Client eine Verbindung zu einer API herstellt oder trennt. API Gateway ruft die **$default**-Route auf, wenn keine anderen Routen mit einer Anforderung übereinstimmen. Nachdem Sie Ihre API erstellt haben, erstellen Sie eine benutzerdefinierte Route, um eine Verbindung zu den Step Functions herzustellen.

1. Wählen Sie **Weiter** aus.

1. Gehen Sie für **Integration für $connect** wie folgt vor:

   1. Wühlen Sie unter **Integrationstyp** die Option **Lambda** aus.

   1. Wählen Sie für die **Lambda-Funktion** die entsprechende **$connect** Lambda-Funktion aus, mit der Sie CloudFormation in Schritt 1 erstellt haben. Der Lambda-Funktionsname sollte mit **websocket-step** beginnen.

1. Gehen Sie für **Integration für $disconnect** wie folgt vor:

   1. Wählen Sie unter **Integrationstyp** die Option **Lambda** aus.

   1. Wählen Sie für die **Lambda-Funktion** die entsprechende **$disconnect** Lambda-Funktion aus, mit der Sie CloudFormation in Schritt 1 erstellt haben. Der Lambda-Funktionsname sollte mit **websocket-step** beginnen.

1. Wählen Sie für **Integration für $default** die Option **Mock** aus.

   Bei einer Mock-Integration verwaltet API Gateway die Routenantwort ohne ein Integrations-Backend.

1. Wählen Sie **Weiter** aus.

1. Überprüfen Sie die Phase, die API Gateway für Sie erstellt. Standardmäßig erstellt API Gateway eine Stufe namens **Produktion** und stellt Ihre API automatisch für diese Stufe bereit. Wählen Sie **Weiter** aus.

1. Wählen Sie **Create and deploy** (Erstellen und bereitstellen) aus.

## Schritt 3: Erstellen eines Lambda-Genehmigers
<a name="websocket-api-step-functions-create-authorizer"></a>

Um den Zugriff auf Ihre WebSocket API zu kontrollieren, erstellen Sie einen Lambda-Autorisierer. Die CloudFormation Vorlage hat die Lambda-Autorisierungsfunktion für Sie erstellt. Sie können die Lambda-Funktion auch in der Lambda-Konsole sehen. Der Name muss mit **websocket-step-functions-tutorial-AuthorizerHandler** beginnen. Diese Lambda-Funktion verweigert alle WebSocket API-Aufrufe, es sei denn, der `Authorization` Header ist es. `Allow` Außerdem übergibt die Lambda-Funktion die `$context.authorizer.principalId`-Variable auch an Ihre API, die später in der DynamoDB-Tabelle zur Identifizierung der API-Aufrufer verwendet wird.

In diesem Schritt konfigurieren Sie die **$connect**-Route zur Verwendung des Lambda-Genehmigers.

**Erstellen eines Lambda-Genehmigers**

1. Melden Sie sich bei der API Gateway Gateway-Konsole unter an [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Wählen Sie im Hauptnavigationsbereich **Genehmiger**.

1. Klicken Sie auf **Genehmiger erstellen**.

1. Geben Sie unter **Genehmigername** **LambdaAuthorizer** ein.

1. Geben Sie für **Authorizer ARN** den Namen des Autorisierers ein, der mit der CloudFormation Vorlage erstellt wurde. Der Name muss mit **websocket-step-functions-tutorial-AuthorizerHandler** beginnen.
**Anmerkung**  
Wir empfehlen, diesen Beispielgenehmiger nicht für Ihre Produktions-APIs zu verwenden.

1. Wählen Sie unter **Identitätsquellentyp** die Option **Header** aus. Geben Sie für **Key (Schlüssel)** **Authorization** ein.

1. Wählen Sie **Autorisierer erstellen**.

Nachdem Sie Ihren Genehmiger erstellt haben, hängen Sie ihn an die **$connect**-Route Ihrer API an.

**So fügen Sie einen Genehmiger zu der $connect-Route hinzu**

1. Klicken Sie im Hauptnavigationsbereich auf **Routen**.

1. Wählen Sie die **$connect**-Route aus.

1. Wählen Sie im Abschnitt **Route request settings** (Einstellungen der Routenanforderung) die Option **Edit** (Bearbeiten) aus.

1. Öffnen Sie das Dropdown-Menü **Genehmigung** und wählen Sie Ihren Anforderungsgenehmiger aus.

1. Wählen Sie **Änderungen speichern ** aus.

## Schritt 4: Erstellen einer bidirektionalen Scheinintegration
<a name="websocket-api-step-functions-create-mock-integration"></a>

Als Nächstes erstellen Sie die bidirektionale Scheinintegration für die **$default**-Route. Mit einer Scheinintegration können Sie eine Antwort an den Client senden, ohne ein Backend zu verwenden. Wenn Sie eine Integration für die **$default**-Route erstellen, können Sie damit Ihren Kunden zeigen, wie sie mit Ihrer API interagieren können.

Sie konfigurieren die **$default**-Route, um Clients darüber zu informieren, dass sie die **SendMessage**-Route verwenden sollen.

**So erstellen Sie eine Scheinintegration**

1. Melden Sie sich bei der API Gateway Gateway-Konsole unter an [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Wählen Sie die **$default**-Route und dann die Registerkarte **Integrationsanforderung** aus.

1. Klicken Sie unter **Anforderungsvorlagen** auf **Bearbeiten**.

1. Geben Sie unter **Ausdruck für die Vorlagenauswahl** **200** ein und klicken Sie dann auf **Bearbeiten**.

1. Wählen Sie auf der Registerkarte **Integrationsanforderung** unter **Anforderungsvorlagen** die Option **Vorlage erstellen** aus.

1. Geben Sie unter **Vorlagenschlüssel** **200** ein.

1. Geben Sie für **Vorlagentext** die folgende Zuweisungsvorlage ein:

   ```
   {"statusCode": 200}
   ```

   Wählen Sie **Create template (Vorlage erstellen)** aus.

   Das Ergebnis sollte wie folgt aussehen:  
![Konfigurieren der Integrationsanfrage für die Scheinintegration der $default-Route](https://docs.aws.amazon.com/de_de/apigateway/latest/developerguide/images/ws-sfn-mock-integration-request.png)

1. Wählen Sie im Bereich **$default-Route** die Option **Bidirektionale Kommunikation aktivieren** aus.

1. Wählen Sie die Registerkarte **Integrationsantwort** und dann **Integrationsantwort erstellen** aus.

1. Geben Sie unter **Antwortschlüssel** **$default** ein.

1. Geben Sie unter **Vorlagen-Auswahlausdruck** **200** ein.

1. Wählen Sie **Create response** (Antwort erstellen) aus.

1. Klicken Sie unter **Zuweisungsvorlagen** auf **Vorlage erstellen**.

1. Geben Sie unter **Vorlagenschlüssel** **200** ein.

1. Geben Sie für **Antwortvorlage** die folgende Zuweisungsvorlage ein:

   ```
   {"Use the sendmessage route to send a message. Connection ID: $context.connectionId"}
   ```

1. Wählen Sie **Create template (Vorlage erstellen)** aus.

   Das Ergebnis sollte wie folgt aussehen:  
![Konfigurieren der Integrationsantwort für die Scheinintegration der $default-Route](https://docs.aws.amazon.com/de_de/apigateway/latest/developerguide/images/ws-sfn-mock-integration-response.png)

## Schritt 5: Erstellen einer Nicht-Proxy-Integration mit Step Functions
<a name="websocket-api-step-functions-create-step-function-integration"></a>

Als Nächstes erstellen Sie eine **sendmessage**-Route. Kunden können die **sendmessage**-Route zur Versendung einer Nachricht an alle verbundenen Clients aufrufen. Die **SendMessage-Route** hat eine AWS Nicht-Proxy-Serviceintegration mit. AWS Step Functions Die Integration ruft den [StartExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)Befehl für den Step Functions Functions-Zustandsmaschine auf, den die CloudFormation Vorlage für Sie erstellt hat.

**So erstellen Sie eine Nicht-Proxy-Integration**

1. Melden Sie sich bei der API Gateway Gateway-Konsole unter an [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Wählen Sie **Create route (Route erstellen)** aus.

1. Geben Sie in **Route key** (Routenschlüssel) **sendmessage** ein.

1. Wählen Sie unter **Integrationstyp** die Option **AWS -Service** aus.

1. Geben Sie **AWS unter Region** die Region ein, in der Sie Ihre CloudFormation Vorlage bereitgestellt haben.

1. Wählen Sie unter **AWS -Service** die Option **Step Functions** aus.

1. Wählen Sie in **HTTP method** **POST**.

1. Für **Aktionsname** geben Sie **StartExecution** ein.

1. Geben Sie für **Ausführungsrolle** die Ausführungsrolle ein, die durch die CloudFormation Vorlage erstellt wurde. Der Name sollte sein **WebsocketTutorialApiRole**.

1. Wählen Sie **Create route (Route erstellen)** aus.

Als Nächstes erstellen Sie eine Zuweisungsvorlage, um Anforderungsparameter an die Zustandsmaschine für Step Functions zu senden.

**Erstellen einer Zuweisungsvorlage**

1. Wählen Sie die **sendmessage**-Route und dann die Registerkarte **Integrationsanforderung** aus.

1. Klicken Sie im Abschnitt **Vorlagenanforderung** auf **Bearbeiten**.

1. Geben Sie unter **Vorlagen-Auswahlausdruck** **\\$default** ein.

1. Wählen Sie **Bearbeiten** aus.

1. Klicken Sie im Abschnitt **Vorlagenanforderung** auf **Vorlage erstellen**.

1. Geben Sie unter **Vorlagenschlüssel** **\\$default** ein.

1. Geben Sie für **Vorlagentext** die folgende Zuweisungsvorlage ein:

   ```
   #set($domain = "$context.domainName")
   #set($stage = "$context.stage")
   #set($body = $input.json('$'))
   #set($getMessage = $util.parseJson($body))
   #set($mymessage = $getMessage.message)
   {
   "input": "{\"domain\": \"$domain\", \"stage\": \"$stage\", \"message\": \"$mymessage\"}",
   "stateMachineArn": "arn:aws:states:{{us-east-2}}:{{123456789012}}:stateMachine:WebSocket-Tutorial-StateMachine"
   }
   ```

   Ersetzen Sie das {{stateMachineArn}} durch den ARN der Zustandsmaschine, die von erstellt wurde CloudFormation.

   Die Zuweisungsvorlage führt Folgendes aus:
   + Erzeugt die Variable `$domain` mithilfe der Kontextvariable `domainName`.
   + Erzeugt die Variable `$stage` mithilfe der Kontextvariable `stage`.

     Die Variablen `$domain` und `$stage` sind für die Erzeugung einer Callback-URL erforderlich.
   + Extrahiert die `message`-Eigenschaft aus der eingehenden `sendmessage`-JSON-Nachricht.
   + Erzeugt die Eingabe für den Zustandsautomaten. Die Eingabe ist die Domäne und die Phase der WebSocket API sowie die Nachricht von der `sendmessage` Route.

1. Wählen Sie **Create template (Vorlage erstellen)** aus.  
![Konfigurieren der sendmessage-Route](https://docs.aws.amazon.com/de_de/apigateway/latest/developerguide/images/ws-sfn-integration-request.png)

Sie können eine Nicht-Proxy-Integration auf den Routen **$connect** oder **$disconnect** erstellen, um direkt eine Verbindungs-ID aus der DynamoDB-Tabelle hinzuzufügen oder zu entfernen, ohne eine Lambda-Funktion aufzurufen.

## Schritt 6: Ihre API testen
<a name="websocket-api-step-functions-test-api"></a>

Als Nächstes veröffentlichen und testen Sie Ihre API, um sicherzustellen, dass sie korrekt funktioniert. Sie verwenden den `wscat` Befehl, um eine Verbindung zur API herzustellen, und dann verwenden Sie einen Slash-Befehl, um einen Ping-Frame zu senden, um die Verbindung zur WebSocket API zu überprüfen.

**Stellen Sie Ihre API bereit**

1. Melden Sie sich bei der API Gateway Gateway-Konsole unter an [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Klicken Sie im Hauptnavigationsbereich auf **Routen**.

1. Klicken Sie auf **Deploy API**.

1. Wählen Sie unter **Stufe** **Produktion** aus.

1. (Optional) Geben Sie unter **Bereitstellungsbeschreibung** eine Beschreibung ein.

1. Wählen Sie **Bereitstellen**.

Nachdem Sie Ihre API bereitgestellt haben, können Sie sie aufrufen. Verwenden Sie die Aufruf-URL, um Ihre API aufzurufen.

**So rufen Sie die URL für den Aufruf Ihrer API auf**

1. Wählen Sie Ihre API aus.

1. Wählen Sie **Stages** (Phasen) und anschließend **production** (Produktion) aus.

1. Notieren Sie sich die **WebSocket URL** Ihrer API. Die URL sollte wie `wss://{{abcdef123}}.execute-api.{{us-east-2}}.amazonaws.com/production` aussehen.

Jetzt, da Sie Ihre Aufruf-URL haben, können Sie die Verbindung zu Ihrer WebSocket API testen.

**So testen Sie die Verbindung zu Ihrer API**

1. Stellen Sie mit dem folgenden Befehl eine Verbindung zu Ihrer API her. Zuerst testen Sie die Verbindung, indem Sie den `/ping`-Pfad aufrufen.

   ```
   wscat -c wss://{{abcdef123}}.execute-api.{{us-east-2}}.amazonaws.com/production -H "Authorization: Allow" --slash -P
   ```

   ```
   Connected (press CTRL+C to quit)
   ```

1. Geben Sie den folgenden Befehl ein, um den Kontrollrahmen anzupingen. Sie können einen Kontrollrahmen für Keepalive-Zwecke von der Client-Seite aus verwenden.

   ```
   /ping
   ```

   Das Ergebnis sollte wie folgt aussehen:

   ```
   < Received pong (data: "")
   ```

Jetzt, da Sie die Verbindung getestet haben, können Sie Ihre API auf ordnungsgemäße Funktion prüfen. In diesem Schritt öffnen Sie ein neues Terminalfenster, damit die WebSocket API eine Nachricht an alle verbundenen Clients senden kann.

**So testen Sie Ihre API**

1. Öffnen Sie ein neues Terminal. Führen Sie den Befehl `wscat` erneut mit den folgenden Parametern aus.

   ```
   wscat -c wss://{{abcdef123}}.execute-api.{{us-east-2}}.amazonaws.com/production -H "Authorization: Allow"
   ```

   ```
   Connected (press CTRL+C to quit)
   ```

1. API Gateway legt basierend auf dem Ausdruck für die Routenanforderungsauswahl Ihrer API fest, welche Route aufgerufen wird. Der Ausdruck für die Routenauswahl Ihrer API lautet `$request.body.action`. Daher ruft API Gateway die Route `sendmessage` auf, wenn Sie die folgende Nachricht senden:

   ```
   {"action": "sendmessage", "message": "hello, from Step Functions!"}
   ```

   Die der Route zugeordnete Zustandsmaschine für Step Functions ruft eine Lambda-Funktion mit der Nachricht und der Callback-URL auf. Die Lambda-Funktion ruft die API-Gateway-Management-API auf und sendet die Nachricht an alle verbundenen Clients. Alle Clients erhalten die folgende Nachricht:

   ```
   < hello, from Step Functions!
   ```

Nachdem Sie Ihre WebSocket API getestet haben, können Sie die Verbindung zu Ihrer API trennen.

**So trennen Sie die Verbindung zu Ihrer API**
+ Zur Trennung der Verbindung zu Ihrer API drücken Sie `CTRL+C`.

  Wenn ein Client die Verbindung zu Ihrer API trennt, ruft API Gateway die Route **$disconnect** Ihrer API auf. Die Lambda-Integration der **$disconnect**-Route Ihrer API entfernt die Verbindungs-ID aus DynamoDB.

## Schritt 7: Bereinigen
<a name="websocket-api-step-functions-cleanup"></a>

Um unnötige Kosten zu verhindern, löschen Sie die Ressourcen, die Sie im Rahmen dieses Tutorials erstellt haben. Mit den folgenden Schritten werden Ihr CloudFormation Stack und Ihre WebSocket API gelöscht.

**Um eine WebSocket API zu löschen**

1. Melden Sie sich bei der API Gateway Gateway-Konsole unter an [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Wählen Sie auf der Seite **APIs** Ihre **websocket-api** aus.

1. Wählen Sie **Actions** (Aktionen) und **Delete** (Löschen) aus. Bestätigen Sie anschließend Ihre Auswahl.

**Um ein zu löschen CloudFormation Stack**

1. Öffnen Sie die CloudFormation Konsole unter [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Wählen Sie Ihren CloudFormation Stack aus.

1. Wählen Sie **Löschen** und bestätigen Sie dann Ihre Auswahl.

## Nächste Schritte
<a name="websocket-api-step-functions-next-steps"></a>

Sie können die Erstellung und Bereinigung aller an diesem Tutorial beteiligten AWS Ressourcen automatisieren. [Ein Beispiel für eine CloudFormation Vorlage, die diese Aktionen für dieses Tutorial automatisiert, finden Sie unter ws-sfn.zip.](samples/ws-sfn-complete.zip)