

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Esegui AWS Batch carichi di lavoro con Step Functions
<a name="connect-batch"></a>

Puoi integrare Step Functions con AWS Batch per eseguire carichi di lavoro di elaborazione in batch nel AWS cloud. Questa pagina elenca gli `Task` stati supportati AWS Batch APIs e fornisce un esempio per eseguire un'operazione di elaborazione in batch.

Per ulteriori informazioni sull'integrazione con AWS i servizi in Step Functions, vedere [Integrazione dei servizi ](integrate-services.md) e[Passaggio di parametri a un'API di servizio in Step Functions](connect-parameters.md).

**Caratteristiche principali dell'integrazione ottimizzata AWS Batch**  
Il modello di [Esegui un processo (.sync)](connect-to-resource.md#connect-sync) integrazione è disponibile.
Tieni presente che non esistono ottimizzazioni specifiche per i modelli [Richiesta e risposta](connect-to-resource.md#connect-default) di [Attendi una richiamata con Task Token](connect-to-resource.md#connect-wait-token) integrazione.

Di seguito viene illustrato un esempio di `Task` stato in cui viene inviato un AWS Batch lavoro e ne attende il completamento. Molti degli argomenti mostrati sono opzionali.

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

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

**I parametri in Step Functions sono espressi in PascalCase**  
Anche se l'API del servizio nativo è in CamelCase, ad esempio l'`startSyncExecution`azione API, si specificano parametri PascalCase in, ad esempio:. `StateMachineArn`

## Politiche IAM per le chiamate AWS Batch
<a name="batch-iam"></a>

I seguenti modelli di esempio mostrano come AWS Step Functions generare le politiche IAM in base alle risorse nella definizione della macchina a stati. Per ulteriori informazioni, consultare [In che modo Step Functions genera policy IAM per servizi integrati](service-integration-iam-templates.md) e [Scopri i modelli di integrazione dei servizi in Step Functions](connect-to-resource.md).

Poiché gli ID dei job per `SubmitJob` e `TerminateJob` vengono generati e quindi sono noti solo in fase di esecuzione, non è possibile creare una policy che limiti l'accesso in base a una risorsa specifica. 

**Suggerimento per un accesso granulare**  
Per aggiungere un accesso granulare a `SubmitJob` e`TerminateJob`, prendi in considerazione l'utilizzo di tag per i lavori e la creazione di una politica che limiti l'accesso in base ai tag. Inoltre, la coda dei lavori, la definizione e le risorse consumabili possono essere limitate all'`SubmitJob`utilizzo di risorse note.

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

------