Executar AWS Batch cargas de trabalho com Step Functions - AWS Step Functions

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Executar AWS Batch cargas de trabalho com Step Functions

Você pode integrar Step Functions com AWS Batch para executar cargas de trabalho de computação em lote no AWS nuvem. Esta página lista os compatíveis AWS Batch APIse fornece um exemplo de Task estado para realizar uma tarefa de processamento em lote.

Para saber mais sobre a integração com AWS serviços em Step Functions, consulte e. Integração de produtos da Passando parâmetros para um serviço API em Step Functions

Principais recursos do Optimized AWS Batch ETL zero

Observe que não há otimizações para os padrões de integração Resposta de solicitação ou Aguarde um retorno de chamada com o token de tarefa.

O seguinte inclui um Task estado que envia um AWS Batch trabalho e espera que seja concluído.

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

Compatível AWS Batch APIs:

Parâmetros em Step Functions são expressos em PascalCase

Mesmo se o serviço nativo API estiver ativadocamelCase, por exemplo, a API açãostartSyncExecution, você especifica parâmetros em PascalCase, como:StateMachineArn.

IAMpolíticas para chamadas AWS Batch

Os modelos de exemplo a seguir mostram como AWS Step Functions gera IAM políticas com base nos recursos em sua definição de máquina de estado. Para ter mais informações, consulte Como o Step Functions gera IAM políticas para serviços integrados e Descubra padrões de integração de serviços em Step Functions.

Porque AWS Batch fornece suporte parcial para controle de acesso em nível de recurso, que você deve usar. "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": "*" } ] }