Managen Sie AWS Step Functions Ausführungen als integrierten 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.

Managen Sie AWS Step Functions Ausführungen als integrierten Service

Step Functions lässt sich in seine eigene API als Service-Integration integrieren. Auf diese Weise kann Step Functions eine neue Ausführung einer Zustandsmaschine 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 Optimized Step Functions-Integration von der Step Functions AWS SDK-Integration unterscheidet

Beachten Sie, dass es keine Optimierungen für die Request Response (Antwort anfordern) Warten auf einen Callback mit dem Aufgabentoken Integrationsmuster gibt.

Weitere Informationen finden Sie hier:

Unterstützte Step Functions 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 Output
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" } }

Konfiguration von IAM-Berechtigungen für verschachtelte Zustandsmaschinen

Ein übergeordneter Zustandsmaschine bestimmt anhand von Abfragen und Ereignissen, ob ein untergeordneter Zustandsmaschine die Ausführung abgeschlossen hat. Für Abfragen ist eine Genehmigung erforderlich, states:DescribeExecution während für Ereignisse, die EventBridge an Step Functions gesendet werden, Berechtigungen für events:PutTargetsevents:PutRule, und events:DescribeRule erforderlich sind. Wenn diese Berechtigungen in Ihrer IAM-Rolle fehlen, kann es zu einer Verzögerung kommen, bis ein übergeordneter Zustandsmaschine erfährt, dass die Ausführung des untergeordneten Zustandsmaschinen abgeschlossen ist.

Verwenden Sie für einen Zustandsmaschine, der die Ausführung eines einzelnen verschachtelten Workflows erfordertStartExecution, eine IAM-Richtlinie, die die Berechtigungen auf diesen Zustandsmaschine beschränkt.

Weitere Informationen finden Sie unter IAM-Berechtigungen für Step Functions.