

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.

# Setzen Sie lang andauernde Workflows mit der Step Functions API fort (empfohlen)
<a name="tutorial-continue-new"></a>

AWS Step Functions ist für die Ausführung von Workflows mit einer begrenzten Dauer und Anzahl von Schritten konzipiert. Standard-Workflow-Ausführungen haben eine maximale Dauer von einem Jahr und 25.000 Ereignissen (siehe). [Step Functions Servicequotas](service-quotas.md)

Bei Ausführungen mit langer Laufzeit können Sie verhindern, dass das feste Kontingent erreicht wird, indem Sie eine neue Workflow-Ausführung vom Status aus starten. `Task` Sie müssen Ihre Workflows in kleinere Zustandsmaschinen aufteilen, die die laufende Arbeit in einer neuen Ausführung fortsetzen.

Um neue Workflow-Ausführungen zu starten, rufen Sie die `StartExecution` API-Aktion von Ihrem `Task` Bundesstaat aus auf und übergeben die erforderlichen Parameter.

Step Functions kann Workflow-Ausführungen starten, indem es seine eigene API als [integrierten Dienst](integrate-services.md) aufruft. Wir empfehlen Ihnen, diesen Ansatz zu verwenden, um zu vermeiden, dass die Servicekontingenten bei Ausführungen mit langer Laufzeit überschritten werden.

## Schritt 1: Erstellen Sie eine Zustandsmaschine mit langer Laufzeit
<a name="use-sfn-api-create-called-state-machine"></a>

Erstellen Sie eine Zustandsmaschine mit langer Laufzeit, die Sie vom `Task` Status einer anderen Zustandsmaschine aus starten möchten. Verwenden Sie für dieses Tutorial die [Zustandsmaschine, die eine Lambda-Funktion verwendet](tutorial-creating-lambda-state-machine.md).

**Anmerkung**  
Stellen Sie sicher, dass Sie den Namen und den Amazon-Ressourcennamen dieses Zustandsmaschinen zur späteren Verwendung in eine Textdatei kopieren.

## Schritt 2: Erstellen Sie eine Zustandsmaschine, um die Step Functions Functions-API-Aktion aufzurufen
<a name="use-sfn-api-create-caller-state-machine"></a>

**Um Workflow-Ausführungen von einem `Task` Status aus zu starten**

1. Öffnen Sie die [Step Functions Functions-Konsole](https://console.aws.amazon.com/states/home), wählen Sie im Menü **State Machines** und dann **Create State Machine** aus.

1. Wählen Sie „**Aus leerem Feld erstellen“**.

1. Geben Sie Ihrem Zustandsmaschine einen Namen und wählen Sie dann **Weiter**, um Ihren Zustandsmaschine in Workflow Studio zu bearbeiten.

1. Ziehen Sie die **StartExecution**API-Aktion von der Registerkarte **Aktionen** auf den leeren Status mit der Bezeichnung **Drag First state here.**

1. Wählen Sie den **StartExecution**Status aus und gehen Sie auf der Registerkarte **Konfiguration** unter wie folgt vor[Entwurfsmodus](workflow-studio.md#wfs-interface-design-mode):

   1. Benennen Sie den Status um in**Start nested execution**.

   1. Wählen Sie als **Integrationstyp** die Option **AWS SDK — neu** aus der Dropdownliste aus.

   1. Gehen Sie **unter API-Parameter** wie folgt vor:

      1. Ersetzen Sie das `StateMachineArn` Beispiel für den Amazon-Ressourcennamen durch den ARN Ihres Zustandsmaschinen. Geben Sie beispielsweise den ARN der [Zustandsmaschine ein, die Lambda verwendet](tutorial-creating-lambda-state-machine.md).

      1. Ersetzen Sie für `Input` Node den vorhandenen Platzhaltertext durch den folgenden Wert:

         ```
         "Comment": "Starting workflow execution using a Step Functions API action"
         ```

      1. Stellen Sie sicher, dass Ihre Eingaben in den **API-Parametern** wie folgt aussehen:

         ```
         {
           "StateMachineArn": "arn:aws:states:us-east-2:123456789012:stateMachine:LambdaStateMachine",
           "Input": {
             "Comment": "Starting workflow execution using a Step Functions API action",
             "AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID.$": "$$.Execution.Id"
           }
         ```

1. (Optional) Wählen Sie im [Inspektor-Panel](workflow-studio.md#workflow-studio-components-formdefinition) Bedienfeld „**Definition**“ aus, um die automatisch generierte [Sprache der Amazonas-Staaten](concepts-amazon-states-language.md) (ASL) Definition Ihres Workflows anzuzeigen.
**Tipp**  
Sie können die ASL-Definition auch im Workflow Studio anzeigen. [Code-Editor](workflow-studio.md#wfs-interface-code-editor) Im Code-Editor können Sie auch die ASL-Definition Ihres Workflows bearbeiten.

1. Geben Sie einen Namen für Ihre Zustandsmaschine an. Wählen Sie dazu das Bearbeitungssymbol neben dem Standardnamen der Zustandsmaschine von **MyStateMachine**. Geben Sie dann unter **State-Machine-Konfiguration** einen Namen in das Feld **State-Machine-Name** ein.

   Geben Sie für dieses Tutorial den Namen **ParentStateMachine** ein.

1. (Optional) Geben Sie unter **State-Machine-Konfiguration** weitere Workflow-Einstellungen an, z. B. den Zustandsmaschinentyp und seine Ausführungsrolle.

   Behalten Sie für dieses Tutorial alle Standardauswahlen in den **State-Machine-Einstellungen** bei.

   Wenn Sie [zuvor eine IAM-Rolle mit den richtigen Berechtigungen für Ihren Zustandsmaschine erstellt](procedure-create-iam-role.md) haben und diese verwenden möchten, wählen Sie unter **Berechtigungen** die Option **Vorhandene Rolle auswählen** und dann eine Rolle aus der Liste aus. Oder wählen Sie **Einen Rollen-ARN eingeben** aus und geben Sie dann einen ARN für diese IAM-Rolle ein.

1. Wählen **Sie im Dialogfeld „Rollenerstellung bestätigen**“ die Option **Bestätigen** aus, um fortzufahren.

   Sie können auch **Rolleneinstellungen anzeigen** wählen, um zur **State-Machine-Konfiguration** zurückzukehren.
**Anmerkung**  
Wenn Sie die von Step Functions erstellte IAM-Rolle löschen, kann Step Functions sie später nicht mehr neu erstellen. Ebenso kann Step Functions ihre ursprünglichen Einstellungen später nicht wiederherstellen, wenn Sie die Rolle ändern (z. B. indem Sie Step Functions aus den Principals in der IAM-Richtlinie entfernen). 

## Schritt 3: Aktualisieren Sie die IAM-Richtlinie
<a name="use-sfn-api-update-policy-start-execution"></a>

Um sicherzustellen, dass Ihre Zustandsmaschine berechtigt ist, die Ausführung der [Zustandsmaschine zu starten, die eine Lambda-Funktion verwendet](tutorial-creating-lambda-state-machine.md), müssen Sie der IAM-Rolle Ihrer Zustandsmaschine eine Inline-Richtlinie anhängen. Weitere Informationen finden Sie unter [Einbetten von Inline-Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#embed-inline-policy-console) im *IAM-Benutzerhandbuch*.

1. Wählen Sie auf der **ParentStateMachine**Seite die **IAM-Rolle ARN** aus, um zur Seite mit den **IAM-Rollen** für Ihren Zustandsmaschine zu navigieren.

1. Weisen Sie der IAM-Rolle von eine entsprechende Berechtigung zu, **ParentStateMachine**damit sie die Ausführung einer anderen Zustandsmaschine starten kann. Gehen Sie wie folgt vor, um die Berechtigung zuzuweisen:

   1. Wählen Sie auf der Seite „**IAM-Rollen**“ die Option **Berechtigungen hinzufügen** und dann **Inline-Richtlinie erstellen** aus.

   1. Wählen Sie auf der Seite **Richtlinie erstellen** die Registerkarte **JSON** aus.

   1. Ersetzen Sie den vorhandenen Text durch die folgende Richtlinie.  
****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "states:StartExecution"
                ],
                "Resource": [
                    "arn:aws:states:us-east-1:123456789012:stateMachine:LambdaStateMachine"
                ]
            }
        ]
      }
      ```

   1. Wählen Sie **Richtlinie prüfen**.

   1. Legen Sie einen Namen für die Richtlinie fest und wählen Sie dann **Create policy (Richtlinie erstellen)** aus.

## Schritt 4: Führen Sie die Zustandsmaschine aus
<a name="use-sfn-api-start-execution"></a>

State-Machine-Ausführungen sind Instanzen, in denen Sie Ihren Workflow ausführen, um Aufgaben auszuführen.

1. Wählen Sie auf der **ParentStateMachine**Seite **Ausführung starten** aus.

   Das Dialogfeld **Ausführung starten** wird angezeigt.

1. Gehen **Sie im Dialogfeld Ausführung starten** wie folgt vor:

   1. (Optional) Geben Sie einen benutzerdefinierten Ausführungsnamen ein, um den generierten Standard zu überschreiben.
**Nicht-ASCII-Namen und Protokollierung**  
Step Functions akzeptiert Namen für Zustandsmaschinen, Ausführungen, Aktivitäten und Beschriftungen, die Nicht-ASCII-Zeichen enthalten. Da solche Zeichen Amazon CloudWatch daran hindern, Daten zu protokollieren, empfehlen wir, nur ASCII-Zeichen zu verwenden, damit Sie die Step Functions Functions-Metriken verfolgen können.

   1. (Optional) Geben Sie im **Eingabefeld Eingabewerte** im JSON-Format ein, um Ihren Workflow auszuführen.

   1. Wählen Sie **Start execution (Ausführung starten)** aus.

   1. Die Step Functions Functions-Konsole leitet Sie zu einer Seite weiter, die mit Ihrer Ausführungs-ID betitelt ist. Diese Seite wird als Seite mit den *Ausführungsdetails* bezeichnet. Auf dieser Seite können Sie die Ausführungsergebnisse im Verlauf der Ausführung oder nach deren Abschluss überprüfen.

      Um die Ausführungsergebnisse zu überprüfen, wählen Sie in der **Diagrammansicht** einzelne Status aus und wählen Sie dann die einzelnen Registerkarten im [Einzelheiten zu den Schritten](concepts-view-execution-details.md#exec-details-intf-step-details) Bereich, um die Details der einzelnen Status, einschließlich Eingabe, Ausgabe und Definition, anzuzeigen. Einzelheiten zu den Ausführungsinformationen, die Sie auf der Seite mit den *Ausführungsdetails* einsehen können, finden Sie unter[Überblick über die Ausführungsdetails](concepts-view-execution-details.md#exec-details-interface-overview).

1. Öffnen Sie die **LambdaStateMachine**Seite und stellen Sie fest, dass eine neue Ausführung durch den ausgelöst wurde **ParentStateMachine**.