Verwalten von AWS Step Functions-Ausführungen als integrierter Service - 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.

Verwalten von AWS Step Functions-Ausführungen als integrierter Service

Step Functions lässt sich in eine eigene API-as-a-Service-Integration integrieren. Auf diese Weise kann Step Functions eine neue Ausführung eines Zustandsautomaten direkt aus dem Aufgabenstatus einer laufenden Ausführung starten. Verwenden Sie beim Erstellen neuer Workflows verschachtelte Workflow-Ausführungen, um die Komplexität Ihrer Haupt-Workflows zu reduzieren und gängige Prozesse wiederzuverwenden.

Wie sich die Integration der optimierten Schrittfunktionen von den Step Functions unterscheidetAWSSDK-Integration

Beachten Sie, dass es keine Optimierungen für dieRequest Response (Antwort anfordern)oderWarten auf einen Callback mit dem AufgabentokenIntegrationsmuster.

Weitere Informationen finden Sie unter:

Unterstützte Step Functions -APIs und Syntax:

Das folgende Beispiel enthält einen Task-Status, der die Ausführung eines anderen Zustandsautomaten startet und wartet, bis sie abgeschlossen ist.

{ "Type":"Task", "Resource":"arn:aws:states:::states:startExecution.sync:2", "Parameters":{ "Input":{ "Comment": "Hello world!" }, "StateMachineArn":"arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld", "Name":"ExecutionName" }, "End":true }

Das folgende Beispiel enthält einen Task-Status, der die Ausführung eines anderen Zustandsautomaten startet.

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

Das Folgende enthält einen Task-Zustand zur Implementierung des Callback- Service-Integrationsmusters.

{ "Type":"Task", "Resource":"arn:aws:states:::states:startExecution.waitForTaskToken", "Parameters":{ "Input":{ "Comment": "Hello world!", "token.$": "$$.Task.Token" }, "StateMachineArn":"arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld", "Name":"ExecutionName" }, "End":true }

Um eine verschachtelte Workflow-Ausführung mit der übergeordneten Ausführung zu verknüpfen, von der sie gestartet wurde, übergeben Sie einen speziell benannten Parameter, der die Ausführungs-ID enthält, die aus dem Context-Objekt abgerufen wurde. Wenn Sie eine verschachtelte Ausführung starten, verwenden Sie einen Parameter namens AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID. Ü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. Weitere Informationen finden Sie unter Zugriff auf das Kontext-Objekt.

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

Verschachtelte Zustandsautomaten geben Folgendes zurück:

Ressource Ausgabe
Startexecution.sync String
Startexecution.sync:2 JSON

Beide warten, bis der verschachtelte Zustandsautomat fertig ist, aber sie geben verschiedene Output-Formate zurück. Wenn Sie beispielsweise eine Lambda-Funktion erstellen, die das Objekt zurückgibt{ "MyKey": "MyValue" }würden Sie die folgenden Antworten erhalten:

Für startExecution.sync:

{ <other fields> "Output": "{ \"MyKey\": \"MyValue\" }" }

Für startExecution.sync:2:

{ <other fields> "Output": { "MyKey": "MyValue" } }

IAM-Berechtigungen für verschachtelte Zustandsmaschinen konfigurieren

Eine übergeordnete Zustandsmaschine bestimmt mithilfe von Abfragen und Ereignissen, ob eine untergeordnete Zustandsmaschine die Ausführung abgeschlossen hat. Die Umfrage erfordert eine Genehmigung fürstates:DescribeExecutionwährend Ereignisse, die über gesendet EventBridge zu Step Functions benötigen Berechtigungen fürevents:PutTargets,events:PutRule, undevents:DescribeRuleaus. Wenn diese Berechtigungen in Ihrer IAM-Rolle fehlen, kann es zu einer Verzögerung kommen, bis eine übergeordnete Zustandsmaschine über den Abschluss der Ausführung der untergeordneten Zustandsmaschine informiert wird.

Für einen Zustandsautomaten, der aufruftStartExecutionVerwenden Sie für eine einzelne verschachtelte Workflow-Ausführung eine IAM-Richtlinie, durch die die Berechtigungen für diesen Zustandsautomaten eingeschränkt werden.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:StartExecution" ], "Resource": [ "arn:aws:states:[[region]]:[[accountId]]:stateMachine:[[stateMachineName]]" ] } ] }

Weitere Informationen finden Sie unterIAM-Berechtigungen für verschachtelte Workflow-Ausführungenaus.