Verwenden einer Step Functions Functions-API-Aktion, um eine neue Ausführung fortzusetzen (empfohlen) - 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.

Verwenden einer Step Functions Functions-API-Aktion, um eine neue Ausführung fortzusetzen (empfohlen)

Step Functions können Workflow-Ausführungen starten, indem sie ihre eigene API alsintegrierter Service. Wir empfehlen Ihnen, diesen Ansatz zu verwenden, um zu vermeiden, dass Service-Kontingente für lange Ausführungsvorgänge überschritten werden.

Schritt 1: Erstellen einer Zustandsmaschine mit langer Laufzeit

Erstellen Sie eine Maschine mit langer Laufzeit, die Sie vomTaskZustand einer anderen Zustandsmaschine. Verwenden Sie für dieses Tutorial dieZustandsmaschine, die eine Lambda-Funktion verwendet.

Anmerkung

Stellen Sie sicher, dass Sie den Namen und den Amazon-Ressourcennamen dieser Zustandsmaschine zur späteren Verwendung in eine Textdatei kopieren.

Schritt 2: Erstellen einer Zustandsmaschine zum Aufrufen der API-Aktion Step Functions

So starten Sie Workflow-Ausführungen vonTaskBundesstaat

  1. Öffnen SieStep Functions Konsoleund wähleErstellen eines Zustandsautomaten.

  2. Auf derWählen Sie die AutorenmethodeSeite, behalten Sie die Standardauswahl bei und wählen SieWeiter.

  3. VonAktionenklicken, ziehen Sie dasStartExecutionAPI-Aktion und legen Sie sie im leeren Status abZiehe den ersten Status hier.

  4. Wählen Sie dasStartExecutiongeben Sie an und machen Sie Folgendes in derKonfigurationRegisterkarte:

    1. Volle einen ZustandsautomatenStart nested execution.

    2. FürIntegration-Typ, wählenAWSSDK - neuaus der Dropdown-Liste aus.

    3. InAPI-Parameter, fürStateMachineArn, geben Sie den Amazon-Ressourcennamen eines -Zustandsautomaten ein. Geben Sie zum Beispiel den ARN desStaatsmaschine, die Lambda benutzt.

    4. FürInput, ersetzen Sie den vorhandenen Platzhaltertext durch folgenden Wert:

      "Comment": "Starting workflow execution using a Step Functions API action"
    5. Stellen Sie sicher, dass Ihre EingabenAPI-Parametersehen in etwa wie folgt aus:

      { "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" }
    6. Wählen Sie Next (Weiter).

  5. (Optional) Überprüfen Sie die automatisch generierte Amazon States-Sprachdefinition Ihres Workflows und wählen SieWeiter.

  6. Auf derGeben Sie den Zustandsautomateneinen Namen für Ihren Zustandsautomaten ein, wieParentStateMachineund dann wählen SieErstellen eines Zustandsautomaten.

Schritt 3: Aktualisieren der IAM-Richtlinie

Um sicherzustellen, dass Ihre Zustandsmaschine über Berechtigungen verfügt, um die Ausführung derZustandsmaschine, die eine Lambda-Funktion verwendetmüssen Sie eine eingebundene Richtlinie an die IAM-Rolle Ihres Zustandsautomaten anhängen. Weitere Informationen finden Sie unterEingebundene Richtlinien eingebundene Richtlinienin derIAM User Guide.

  1. Auf der Seite mit dem Titel Ihres Zustandsmaschinennamens (ParentStateMachine), wählen SieIAM-Rolle ARNum zum IAM zu navigierenRollenSeite für Ihren Zustandsautomaten.

  2. Weisen Sie demParentStateMachineIAM-Rolle für die Zustandsmaschine, um die Ausführung einer anderen Zustandsmaschine zu starten. Um die Berechtigung zuzuweisen, gehen Sie wie folgt vor:

    1. Auf der IAMRollenSeite, wählenAdd permissionsund dann wählen SieErstellen von eingebundenen Richtlinien.

    2. Wählen Sie auf der Seite Create policy (Richtlinie erstellen) die Registerkarte JSON aus.

    3. Ersetzen Sie den vorhandenen Text durch folgende Richtlinie.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:StartExecution" ], "Resource": [ "arn:aws:states:us-east-2:123456789012:stateMachine:LambdaStateMachine" ] } ] }
    4. Wählen Sie Review policy (Richtlinie prüfen).

    5. Geben Sie einen Namen für die Richtlinie ein, und wählen Sie dannRichtlinie erstellen.

Schritt 4: Starten Sie eine neue Ausführung.

  1. Auf derParentStateMachineSeite, wählenStarten der Ausführung.

    DieStarten der Ausführungwird angezeigt.

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

  3. Öffnen SieLambdaStateMachinegeben Sie die Maschinenseite an und bemerken Sie eine neue Ausführung, die durch dieParentStateMachine.