執行 AWS Batch 具有 Step Functions 的工作 - AWS Step Functions

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

執行 AWS Batch 具有 Step Functions 的工作

您可以將 Step Functions 與 AWS Batch 以執行批次運算工作負載 AWS 雲端。此頁面列出支援 AWS Batch APIs並提供執行批次處理工作的範例Task狀態。

若要瞭解如何整合 AWS 服務在 Step Functions 中,請參閱整合 服務和。將參數傳遞給 Step Functions 數API中的服務

最佳化的主要功能 AWS Batch 整合

請注意,請求回應使用任務令牌等待回調整合模式沒有最佳化。

以下包括提交的Task狀態 AWS Batch 工作並等待它完成。

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

支援 AWS Batch APIs:

中的參數 Step Functions 表示於 PascalCase

即使原生服務位API於中 camelCase (例如API動作)startSyncExecution,您也可以在中指定參數 PascalCase,例如:StateMachineArn

IAM呼叫的原則 AWS Batch

下面的示例模板顯示如何 AWS Step Functions 根據狀態機器定義中的資源產生IAM策略。如需詳細資訊,請參閱 Step Functions 式如何為整合式服務產生IAM原則探索 Step Functions 中的服務整合模式

因為 AWS Batch 為資源級訪問控制提供部分支持,您必須使用。"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": "*" } ] }