Esecuzione AWS Batch carichi di lavoro con Step Functions - AWS Step Functions

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esecuzione AWS Batch carichi di lavoro con Step Functions

Puoi integrare Step Functions con AWS Batch per eseguire carichi di lavoro di elaborazione in batch in AWS cloud. Questa pagina elenca i supportati AWS Batch APIse fornisce un esempio di Task stato per eseguire un'operazione di elaborazione in batch.

Per saperne di più sull'integrazione con AWS servizi in Step Functions, vedere Integrazione dei servizi e. Passaggio di parametri a un servizio API in Step Functions

Caratteristiche principali di Optimized AWS Batch integrazione

Nota che non ci sono ottimizzazioni per i modelli Richiesta e risposta di Attendi una richiamata con Task Token integrazione.

Quanto segue include uno Task stato che invia un AWS Batch processo e attende che venga completato.

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

Supportato AWS Batch APIs:

Parametri in Step Functions sono espressi in PascalCase

Anche se il servizio nativo API è attivocamelCase, ad esempio l'APIazionestartSyncExecution, si specificano i parametri in PascalCase, ad esempio:StateMachineArn.

IAMpolitiche per le chiamate AWS Batch

I seguenti modelli di esempio mostrano come AWS Step Functions genera IAM politiche basate sulle risorse nella definizione della macchina a stati. Per ulteriori informazioni, consulta In che modo Step Functions genera IAM politiche per servizi integrati e Scopri i modelli di integrazione dei servizi in Step Functions.

Perché AWS Batch fornisce un supporto parziale per il controllo degli accessi a livello di risorsa, è necessario utilizzare. "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": "*" } ] }