Starten von Workflow-Ausführungen über einen Aufgabenstatus - 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.

Starten von Workflow-Ausführungen über einen Aufgabenstatus

AWS Step Functions kann Workflow-Ausführungen aus einem Task-Zustand eines Zustandsautomaten starten. Auf diese Weise können Sie Ihre Workflows in kleinere Zustandsautomaten aufteilen und Ausführungen dieser anderen Zustandsautomaten starten. Durch das Starten dieser neuen Workflow-Ausführungen haben Sie folgenden Möglichkeiten:

  • Trennen Sie den Workflow auf höherer Ebene von aufgabenspezifischen Workflows auf unterer Ebene.

  • Vermeiden Sie sich wiederholende Elemente. Rufen Sie nicht mehrfach einen separaten Zustandsautomaten auf.

  • Erstellen Sie eine Bibliothek mit modularen wiederverwendbaren Workflows für eine schnellere Entwicklung.

  • Reduzieren Sie die Komplexität und vereinfachen Sie die Bearbeitung und Fehlerbehebung von Zustandsautomaten.

Step Functions können diese Workflow-Ausführungen starten, indem eine eigene --API alsintegrierter Serviceaus. Rufen Sie einfach die StartExecution-API-Aktion aus Ihrem Task-Status auf und übergeben Sie die erforderlichen Parameter. Sie können die Step Functions Functions---API mithilfe eines beliebigenService-Integrationsmusteraus. Um eine neue Ausführung eines Zustandsautomaten zu starten, verwenden Sie einen Task-Status ähnlich dem folgenden.

{ "Type":"Task", "Resource":"arn:aws:states:::states:startExecution", "Parameters":{ "StateMachineArn":"arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld", "Input":{ "Comment":"Hello world!" }, }, "Retry":[ { "ErrorEquals":[ "StepFunctions.ExecutionLimitExceeded" ] } ], "End":true }

Dieser Task-Status startet eine neue Ausführung des HelloWorld-Zustandsautomaten und übergibt den JSON-Kommentar als Eingabe.

Anmerkung

Die StartExecution-API-Aktionskontingente können die Anzahl der Ausführungen begrenzen, die Sie starten können. Verwenden Sie die Retry für StepFunctions.ExecutionLimitExceeded, um sicherzustellen, dass Ihre Ausführung gestartet wird. Siehe unten.

Zuordnen von Workflow-Ausführungen

Um eine gestartete Workflow-Ausführung mit der Ausführung zu verknüpfen, durch die sie gestartet wurde, übergeben Sie die Ausführungs-ID aus dem Context-Objekt an die Ausführungseingabe. Sie können aus Ihrem Task-Status in einer laufenden Ausführung auf die ID aus dem Context-Objekt zugreifen. Übergeben Sie die Ausführungs-ID, indem Sie .$ an den Parameternamen anhängen und mit $$.Execution.Id auf die ID im Context-Objekt mit verweisen.

"AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID.$": "$$.Execution.Id"

Sie können einen speziellen Parameter namens AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID verwenden, wenn Sie eine Ausführung starten. Sofern enthalten, bietet diese Assoziation Links imSchritt-Detailsder Step Functions Functions-Konsole. Sofern bereitgestellt, können Sie problemlos die Ausführungen Ihrer Workflows verfolgen, vom Starten von Ausführungen bis zu den gestarteten Workflow-Ausführungen. Verknüpfen Sie im vorherigen Beispiel die Ausführungs-ID wie folgt mit der gestarteten Ausführung des HelloWorld-Zustandsautomaten.

{ "Type":"Task", "Resource":"arn:aws:states:::states:startExecution", "Parameters":{ "StateMachineArn":"arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld", "Input": { "Comment": "Hello world!", "AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID.$": "$$.Execution.Id" } }, "End":true }

Weitere Informationen finden Sie unter: