Administración de ejecuciones de AWS Step Functions como servicio integrado - AWS Step Functions

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Administración de ejecuciones de AWS Step Functions como servicio integrado

Step Functions se integra con su propia API como integración de servicios. Esto permite a Step Functions a iniciar una nueva ejecución de una máquina de estado directamente desde el estado de la tarea de una ejecución en marcha. Al crear nuevos flujos de trabajo, utilice las ejecuciones de flujos de trabajo anidados para reducir la complejidad de los flujos de trabajo principales y para reutilizar los procesos comunes.

En qué se diferencia la integración de las Step Functions optimizadas de las Step FunctionsAWSIntegración de SDK

Tenga en cuenta que no hay optimizaciones para elRespuesta de la solicitudoCómo esperar una devolución de llamada con el token de tareaPatrones de integración.

Para obtener más información, consulte los siguientes:

API de Step Functions y sintaxis compatibles:

A continuación se incluye un estado Task que inicia una ejecución de otra máquina de estado y espera a que se complete.

{ "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 }

A continuación se incluye un estado Task que inicia una ejecución de otra máquina de estado.

{ "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 }

El ejemplo siguiente incluye un estado Task que implementa el patrón de integración de servicios de devolución de llamada.

{ "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 }

Para asociar una ejecución de flujo de trabajo anidado a la ejecución principal que la inició, transfiera un parámetro denominado especialmente que incluya el ID de ejecución extraído del objeto context. Al iniciar una ejecución anidada, utilice un parámetro denominado AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID. Transfiera el ID de ejecución añadiendo .$ al nombre del parámetro y haciendo referencia al ID en el objeto context con $$.Execution.Id. Para obtener más información, consulte Acceso al objeto de contexto.

{ "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 }

Las máquinas de estado anidadas devuelven lo siguiente:

Recurso Salida
startExecution.sync Cadena
startExecution.sync:2 JSON

Ambos esperarán a que se complete la máquina de estado anidada, pero devuelven diferentes formatos Output. Por ejemplo, si crea una función Lambda que devuelve el objeto{ "MyKey": "MyValue" }, obtendrías las siguientes respuestas:

Para startExecution.sync:

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

Para startExecution.sync:2:

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

Para obtener información sobre cómo configurar IAM cuando se utiliza Step Functions con otrosAWSservicios, consultePolíticas de IAM para servicios integrados.