Ejecute AWS Batch cargas de trabajo con Step Functions - 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.

Ejecute AWS Batch cargas de trabajo con Step Functions

Puede integrar Step Functions con AWS Batch para ejecutar cargas de trabajo de computación por lotes en AWS nube. En esta página se enumeran los compatibles AWS Batch APIsy proporciona un ejemplo de Task estado para realizar una tarea de procesamiento por lotes.

Para obtener información sobre la integración con AWS servicios en Step Functions, consulte Integración de los servicios de yPasar parámetros a un servicio API en Step Functions.

Características clave de Optimized AWS Batch integración

Tenga en cuenta que no hay optimizaciones para los patrones de integración Respuesta de la solicitud o Espera a que te devuelvan la llamada con el token de tarea.

A continuación se incluye un Task estado que envía un AWS Batch y espera a que se complete.

{ "StartAt": "BATCH_JOB", "States": { "BATCH_JOB": { "Type": "Task", "Resource": "arn:aws:states:::batch:submitJob.sync", "Parameters": { "JobDefinition": "preprocessing", "JobName": "PreprocessingBatchJob", "JobQueue": "SecondaryQueue", "Parameters.$": "$.batchjob.parameters", "ContainerOverrides": { "ResourceRequirements": [ { "Type": "VCPU", "Value": "4" } ] } }, "End": true } } }

Compatible AWS Batch APIs:

Parámetros en Step Functions se expresan en PascalCase

Incluso si el servicio nativo API está encamelCase, por ejemplo, la API acciónstartSyncExecution, se especifican parámetros en PascalCase, como:StateMachineArn.

IAMpolíticas de llamadas AWS Batch

En las siguientes plantillas de ejemplo se muestra cómo AWS Step Functions genera IAM políticas en función de los recursos de la definición de su máquina de estados. Para obtener más información, consulte Cómo Step Functions genera IAM políticas para servicios integrados y Descubra los patrones de integración de servicios en Step Functions.

Porque AWS Batch proporciona soporte parcial para el control de acceso a nivel de recursos, que debe utilizar. "Resource": "*"

Run a Job (.sync)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "batch:SubmitJob", "batch:DescribeJobs", "batch:TerminateJob" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:[[region]]:[[accountId]]:rule/StepFunctionsGetEventsForBatchJobsRule" ] } ] }
Request Response
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "batch:SubmitJob" ], "Resource": "*" } ] }