本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Step Functions 執行 AWS Batch 工作負載
您可以將 Step Functions 與 整合 AWS Batch ,以在 AWS 雲端中執行批次運算工作負載。此頁面列出支援的 AWS Batch APIs,並提供執行批次處理任務的範例Task狀態。
若要了解如何在 Step Functions 中整合 AWS 服務,請參閱 整合 服務和 在 Step Functions 中將參數傳遞至服務 API。
Optimized AWS Batch 整合的主要功能
- 執行任務 (.sync) 整合模式可供使用。 
請注意, 請求回應或 使用任務字符等待回呼整合模式沒有特定的最佳化。
以下顯示提交 AWS Batch 任務並等待任務完成的範例Task狀態。顯示的許多引數都是選用的。
"Submit Batch Job": {
    "Type": "Task",
    "Resource": "arn:aws:states:::batch:submitJob.sync",
    "Arguments": {
        "JobName": "BATCH_NAME",
        "JobQueue": "BATCH_QUEUE_ARN",
        "JobDefinition": "BATCH_JOB_DEFINITION_ARN",
        "ArrayProperties": {
        "Size": 10
        },
        "ContainerOverrides": {
        "ResourceRequirements": [
            {
            "Type": "VCPU",
            "Value": "4"
            }
        ]
        },
        "DependsOn": [
        {
            "JobId": "myJobId",
            "Type": "SEQUENTIAL"
        }
        ],
        "PropagateTags": true,
        "Arguments": {
        "Key1": "value1",
        "Key2": 100
        },
        "RetryStrategy": {
        "Attempts": 1
        },
        "Tags": {
        "Tag": "TAG"
        },
        "Timeout": {
        "AttemptDurationSeconds": 10
        }
    }
}AWS Batch APIs
中的參數Step Functions以 PascalCase 表示
即使原生服務 API 位於 camelCase 中,例如 API 動作 startSyncExecution,您在 PascalCase 中指定參數,例如:StateMachineArn。
用於呼叫 的 IAM 政策 AWS Batch
下列範例範本顯示 如何根據狀態機器定義中的資源 AWS Step Functions 產生 IAM 政策。如需詳細資訊,請參閱Step Functions 如何為整合服務產生 IAM 政策及探索 Step Functions 中的服務整合模式。
由於TerminateJob會產生 SubmitJob和 的任務 ID,因此只能在執行時間知道,因此您無法建立根據特定資源限制存取的政策。
精細存取的秘訣
若要新增對 SubmitJob和 的精細存取TerminateJob,請考慮使用任務的標籤,並根據您的標籤建立限制存取的政策。此外,任務佇列、定義和消耗性資源可以限制SubmitJob使用已知資源。