

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Exécutez AWS Batch des charges de travail avec Step Functions
<a name="connect-batch"></a>

Vous pouvez intégrer Step Functions AWS Batch pour exécuter des charges de travail de calcul par lots dans le AWS cloud. Cette page répertorie les états pris en charge AWS Batch APIs et fournit un exemple d'`Task`état pour effectuer une tâche de traitement par lots.

Pour en savoir plus sur l'intégration aux AWS services dans Step Functions, reportez-vous [Intégration des services ](integrate-services.md) aux sections et[Transmission de paramètres à une API de service dans Step Functions](connect-parameters.md).

**Principales fonctionnalités de l'AWS Batchintégration optimisée**  
Le modèle [Exécuter une tâche (.sync)](connect-to-resource.md#connect-sync) d'intégration est disponible.
Notez qu'il n'existe aucune optimisation spécifique pour les modèles d'[Attendre un rappel avec un jeton de tâche](connect-to-resource.md#connect-wait-token)intégration [Réponse à la requête](connect-to-resource.md#connect-default) ou.

Voici un exemple d'`Task`État qui soumet une AWS Batch tâche et attend qu'elle soit terminée. La plupart des arguments présentés sont facultatifs.

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

## Optimisé AWS Batch APIs :
<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)

**Les paramètres in Step Functions sont exprimés en PascalCase**  
Même si l'API de service native se trouve dans CamelCase, par exemple l'`startSyncExecution`action d'API, vous spécifiez des paramètres PascalCase dans, tels que :. `StateMachineArn`

## Politiques IAM pour les appels AWS Batch
<a name="batch-iam"></a>

Les exemples de modèles suivants montrent comment AWS Step Functions générer des politiques IAM en fonction des ressources contenues dans la définition de votre machine d'état. Pour plus d’informations, consultez [Comment Step Functions génère des politiques IAM pour les services intégrés](service-integration-iam-templates.md) et [Découvrez les modèles d'intégration des services dans Step Functions](connect-to-resource.md).

Étant donné que les identifiants de `SubmitJob` tâche `TerminateJob` sont générés et ne sont donc connus qu'au moment de l'exécution, vous ne pouvez pas créer de politique limitant l'accès en fonction d'une ressource spécifique. 

**Astuce pour un accès à grain fin**  
Pour ajouter un accès détaillé à `SubmitJob` et`TerminateJob`, pensez à utiliser des balises pour les tâches et à créer une politique qui limite l'accès en fonction de vos balises. En outre, la file d'attente des tâches, la définition et les ressources consommables peuvent être limitées en raison de `SubmitJob` l'utilisation de ressources connues.

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

------