

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á.

# Execute AWS Batch cargas de trabalho com Step Functions
<a name="connect-batch"></a>

Você pode integrar o Step Functions AWS Batch para executar cargas de trabalho de computação em lote na AWS nuvem. Esta página lista os estados suportados AWS Batch APIs e 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 no Step Functions, consulte [Integração de produtos da ](integrate-services.md) e. [Transmitir parâmetros a uma API de serviço no Step Functions](connect-parameters.md)

**Principais recursos da AWS Batch integração otimizada**  
O padrão de integração [Executar um trabalho (.sync)](connect-to-resource.md#connect-sync) está disponível.
Observe que não há otimizações específicas para os padrões de integração [Resposta de solicitação](connect-to-resource.md#connect-default) ou [Aguardar um retorno de chamada com um token de tarefa](connect-to-resource.md#connect-wait-token).

Veja a seguir um exemplo de `Task` estado que envia um AWS Batch trabalho e espera que ele seja concluído. Muitos dos argumentos exibidos são opcionais.

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

## Otimizado 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)

**Os parâmetros em Step Functions são expressos em PascalCase**  
Mesmo que a API de serviço nativa esteja no CamelCase, por exemplo, a `startSyncExecution` ação da API, você especifica parâmetros PascalCase em, como:. `StateMachineArn`

## Políticas do IAM para chamadas AWS Batch
<a name="batch-iam"></a>

Os modelos de exemplo a seguir mostram como AWS Step Functions gera políticas do IAM com base nos recursos na definição da sua máquina de estado. Para obter mais informações, consulte [Como o Step Functions gera políticas do IAM para serviços integrados](service-integration-iam-templates.md) e [Descobrir padrões de integração de serviços no Step Functions](connect-to-resource.md).

Como os IDs de trabalho para `SubmitJob` e `TerminateJob` são gerados e, portanto, conhecidos apenas em runtime, não é possível criar uma política que restrinja o acesso com base em um recurso específico. 

**Dica para acesso refinado**  
Para adicionar acesso refinado a `SubmitJob` e `TerminateJob`, considere usar tags para trabalhos e criar uma política que limite o acesso com base em tags. Além disso, a fila de trabalhos, a definição e os recursos consumíveis podem ser restringidos para `SubmitJob` com recursos conhecidos.

------
#### [ 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": "*"
        }
    ]
}
```

------