

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Jalankan AWS Batch beban kerja dengan Step Functions
<a name="connect-batch"></a>

Anda dapat mengintegrasikan Step Functions AWS Batch dengan menjalankan beban kerja komputasi batch di AWS cloud. Halaman ini mencantumkan status yang didukung AWS Batch APIs dan memberikan contoh `Task` status untuk melakukan tugas pemrosesan batch.

Untuk mempelajari tentang mengintegrasikan dengan AWS layanan di Step Functions, lihat [Integrasi layanan ](integrate-services.md) dan[Meneruskan parameter ke API layanan di Step Functions](connect-parameters.md).

**Fitur utama dari AWS Batch integrasi yang dioptimalkan**  
Pola [Jalankan Tugas (.sync)](connect-to-resource.md#connect-sync) integrasi tersedia.
Perhatikan bahwa tidak ada pengoptimalan khusus untuk pola [Minta Tanggapan](connect-to-resource.md#connect-default) atau [Tunggu Callback dengan Task Token](connect-to-resource.md#connect-wait-token) integrasi.

Berikut ini menunjukkan contoh `Task` keadaan yang mengirimkan AWS Batch pekerjaan dan menunggu sampai selesai. Banyak argumen yang ditampilkan adalah opsional.

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

## Dioptimalkan AWS BatchAPIs:
<a name="connect-batch-api"></a>
+ [https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitJob.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitJob.html)

**Parameter Step Functions dalam dinyatakan dalam PascalCase**  
Bahkan jika API layanan asli ada di camelCase, misalnya `startSyncExecution` tindakan API, Anda menentukan parameter PascalCase, seperti:. `StateMachineArn`

## Kebijakan IAM untuk menelepon AWS Batch
<a name="batch-iam"></a>

Contoh templat berikut menunjukkan cara AWS Step Functions menghasilkan kebijakan IAM berdasarkan sumber daya dalam definisi mesin status Anda. Untuk informasi selengkapnya, lihat [Bagaimana Step Functions menghasilkan kebijakan IAM untuk layanan terintegrasi](service-integration-iam-templates.md) dan [Temukan pola integrasi layanan di Step Functions](connect-to-resource.md).

Karena id pekerjaan untuk `SubmitJob` dan `TerminateJob` dibuat dan oleh karena itu hanya diketahui saat runtime, Anda tidak dapat membuat kebijakan yang membatasi akses berdasarkan sumber daya tertentu. 

**Kiat untuk akses berbutir halus**  
Untuk menambahkan akses berbutir halus ke `SubmitJob` dan`TerminateJob`, pertimbangkan untuk menggunakan tag untuk pekerjaan dan membuat kebijakan yang membatasi akses berdasarkan tag Anda. Selain itu, antrian pekerjaan, definisi, dan sumber daya habis pakai dapat dibatasi untuk `SubmitJob` menggunakan sumber daya yang diketahui.

------
#### [ 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:us-east-1:123456789012:rule/StepFunctionsGetEventsForBatchJobsRule"
            ]
        }
    ]
}
```

------
#### [ Request Response ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "batch:SubmitJob"
            ],
            "Resource": "*"
        }
    ]
}
```

------