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 tareas de Amazon ECS o Fargate con Step Functions
Step Functions puede controlar ciertosAWSservicios directamente desde el Lenguaje de estados de Amazon. Para obtener más información acerca de cómo trabajar conAWS Step Functionsy sus integraciones, vea los temas siguientes:
El patrón de integración .sync está disponible.
ecs:runTask
puede devolver una respuesta HTTP 200, pero no está vacíaFailures
campo como se indica a continuación:Respuesta de la solicitud: devuelve la respuesta y no falle la tarea. Esto es lo mismo que no hay optimización.
Cómo ejecutar un trabajo: si no está vacío
Failures
se encuentra, se ha producido un error en la tarea con unAmazonECS.Unknown
.Token de tarea: si no está vacío
Failures
se encuentra, se ha producido un error en la tarea con unAmazonECS.Unknown
.
API de Amazon ECS/Fargate y sintaxis compatibles:
Los parámetros de Step Functions se expresan enPascalCase
, incluso cuando la API de servicio nativo escamelCase
.
-
RunTask
comienza una tarea nueva utilizando la definición de tarea especificada.
Para el registroOverrides
parámetro, Step Functions no admiteexecutionRoleArn
otaskRoleArn
comoContainerOverrides
.
Cómo pasar datos a una tarea de Amazon ECS
Step Functions puede controlar ciertosAWSservicios directamente desde el Lenguaje de estados de Amazon. Para obtener más información acerca de cómo trabajar conAWS Step Functionsy sus integraciones, vea los temas siguientes:
Puede usaroverrides
para anular el comando predeterminado de un contenedor de y pasar información de entrada a las tareas de Amazon ECS. Consulte ContainerOverride
. En el ejemplo, hemos utilizado JsonPath para transferir valores a la Task
desde la entrada al estado de Task
.
El ejemplo siguiente incluye unTask
estado que ejecuta una tarea de Amazon ECS y espera a que finalice.
{
"StartAt": "Run an ECS Task and wait for it to complete",
"States": {
"Run an ECS Task and wait for it to complete": {
"Type": "Task",
"Resource": "arn:aws:states:::ecs:runTask.sync",
"Parameters": {
"Cluster": "cluster-arn
",
"TaskDefinition": "job-id
",
"Overrides": {
"ContainerOverrides": [
{
"Name": "container-name
",
"Command.$": "$.commands"
}
]
}
},
"End": true
}
}
}
La línea "Command.$": "$.commands"
en ContainerOverrides
pasa los comandos de la entrada de estado al contenedor.
En el ejemplo anterior, cada uno de los comandos se transferirá como una anulación del contenedor si la entrada de la ejecución es la siguiente.
{
"commands": [
"test command 1",
"test command 2",
"test command 3"
]
}
El ejemplo siguiente incluye unTask
que ejecuta una tarea de Amazon ECS de y, a continuación, espera a que se devuelva el token de tarea. Consulte Cómo esperar una devolución de llamada con el token de tarea.
{
"StartAt":"Manage ECS task",
"States":{
"Manage ECS task":{
"Type":"Task",
"Resource":"arn:aws:states:::ecs:runTask.waitForTaskToken",
"Parameters":{
"LaunchType":"FARGATE",
"Cluster":"cluster-arn
",
"TaskDefinition":"job-id
",
"Overrides":{
"ContainerOverrides":[
{
"Name":"container-name
",
"Environment":[
{
"Name":"TASK_TOKEN_ENV_VARIABLE",
"Value.$":"$$.Task.Token"
}
]
}
]
}
},
"End":true
}
}
}
Para obtener más información acerca de cómo configurar IAM cuando utiliza Step Functions con otrosAWSservicios, consultePolíticas de IAM para servicios integrados.