

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

# Specificate le configurazioni dei lavori utilizzando l'API AWS IoT Jobs
<a name="job-configurations-api"></a>

È possibile utilizzare [CreateJob](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html)o l'[CreateJobTemplate](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html)API per specificare le diverse configurazioni di lavoro. Le sezioni seguenti descrivono come aggiungere queste configurazioni. Dopo aver aggiunto le configurazioni, puoi utilizzarle [JobExecutionSummary](https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionSummary.html)e [JobExecutionSummaryForJob](https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionSummaryForJob.html)visualizzarne lo stato.

Per ulteriori informazioni sulle diverse configurazioni e su come funzionano, consulta [Come funzionano le configurazioni di processo](jobs-configurations-details.md).

## Rollout configuration (Configurazione rollout)
<a name="job-rollout-api"></a>

Per la configurazione di velocità puoi specificare una velocità di rollout costante o esponenziale.
+ 

**Impostazione di una velocità di rollout costante**  
Per impostare una velocità di rollout costante, utilizza l'oggetto [https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionsRolloutConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionsRolloutConfig.html) per aggiungere il parametro `maximumPerMinute` alla richiesta `CreateJob`. Questo parametro specifica il limite superiore della velocità alla quale possono verificarsi le esecuzioni dei processi. Questo valore è facoltativo e varia da 1 a 1.000. Se non lo imposti, viene utilizzato 1.000 come valore predefinito.

  ```
      "jobExecutionsRolloutConfig": {
          "maximumPerMinute": 1000
      }
  ```
+ 

**Impostazione di una velocità di rollout esponenziale**  
Per impostare una velocità di rollout del processo variabile, utilizza l'oggetto [https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionsRolloutConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionsRolloutConfig.html). Puoi configurare la proprietà `ExponentialRolloutRate` quando esegui l'operazione API `CreateJob`. L'esempio seguente imposta una velocità di rollout esponenziale utilizzando il parametro `exponentialRate`. Per ulteriori informazioni sui parametri, consulta [https://docs.aws.amazon.com/iot/latest/apireference/API_ExponentialRolloutRate.html](https://docs.aws.amazon.com/iot/latest/apireference/API_ExponentialRolloutRate.html).

  ```
  {
  ...
    "jobExecutionsRolloutConfig": {
      "exponentialRate": {
        "baseRatePerMinute": 50,
        "incrementFactor": 2,
        "rateIncreaseCriteria": {
          "numberOfNotifiedThings": 1000,
          "numberOfSucceededThings": 1000
        },
        "maximumPerMinute": 1000
      }
    }
  ...
  }
  ```

Dove il parametro:

**baseRatePerMinuto**  
Specifica la velocità alla quale i processi vengono eseguiti fino a quando non viene raggiunta la soglia di `numberOfNotifiedThings` o `numberOfSucceededThings`.

**incrementFactor**  
Specifica il fattore esponenziale con il quale la velocità di rollout aumenta dopo che è stata raggiunta la soglia di `numberOfNotifiedThings` o `numberOfSucceededThings`.

**rateIncreaseCriteria**  
Specifica la soglia di `numberOfNotifiedThings` o `numberOfSucceededThings`.

## Configurazione dell’interruzione
<a name="job-abort-api"></a>

Per aggiungere questa configurazione utilizzando l'API, specifica il parametro [https://docs.aws.amazon.com/iot/latest/apireference/API_AbortConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_AbortConfig.html) quando esegui [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html) o l’operazione API [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html). L'esempio seguente mostra una configurazione di interruzione per il rollout di un processo in cui si verificano più esecuzioni fallite, come specificato con l'operazione API `CreateJob`.

**Nota**  
L'eliminazione dell'esecuzione di un processo influisce sul valore del calcolo dell'esecuzione totale completata. Quando un processo viene interrotto, il servizio crea codici `comment` e `reasonCode` automaticamente per differenziare una cancellazione dipendente dall'utente o una cancellazione per interruzione di processo.

```
   "abortConfig": { 
      "criteriaList": [ 
         { 
            "action": "CANCEL",
            "failureType": "FAILED",
            "minNumberOfExecutedThings": 100,
            "thresholdPercentage": 20
         },
         { 
            "action": "CANCEL",
            "failureType": "TIMED_OUT",
            "minNumberOfExecutedThings": 200,
            "thresholdPercentage": 50
         }
      ]
    }
```

Dove il parametro:

**action**  
Specifica l'operazione da eseguire quando vengono soddisfatti i criteri di interruzione. Questo parametro è obbligatorio ed `CANCEL` è il solo valore valido.

**failureType**  
Specifica i tipi di errore che devono avviare l'interruzione di un processo. I valori validi sono `FAILED`, `REJECTED`, `TIMED_OUT` e `ALL`.

**minNumberOfExecutedThings**  
Specifica il numero di esecuzioni del processo completate che devono verificarsi prima che il criterio di interruzione del processo sia soddisfatto. In questo esempio, AWS IoT non verifica se un'interruzione di processo si verifica quando almeno 100 dispositivi hanno completato le esecuzioni di processo.

**thresholdPercentage**  
Specifica il numero totale di oggetti per i quali i processi sono stati eseguiti che avvia l'interruzione del processo. In questo esempio, AWS IoT verifica in sequenza e avvia un'interruzione del lavoro se viene raggiunta la percentuale di soglia. Se almeno il 20% delle esecuzioni complete non è riuscito dopo il completamento di 100 esecuzioni, annulla il rollout del processo. Se questo criterio non AWS IoT viene soddisfatto, verifica se almeno il 50% delle esecuzioni completate è scaduto dopo il completamento di 200 esecuzioni. In questo caso, annulla il rollout del processo.

## Scheduling configuration (Configurazione della pianificazione)
<a name="job-scheduling-api"></a>

Per aggiungere questa configurazione utilizzando l'API, specifica il parametro [https://docs.aws.amazon.com/iot/latest/apireference/API_SchedulingConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_SchedulingConfig.html) opzionale quando esegui [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html) o l’operazione API [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html).

```
    "SchedulingConfig": { 
      "endBehavior": string
      "endTime": string
      "maintenanceWindows": string
      "startTime": string
   }
```

Dove il parametro:

**startTime**  
Specifica la data e l'ora di avvio del processo.

**endTime**  
Specifica la data e l'ora di fine del processo.

**maintenanceWindows**  
Specifica se è stata selezionata una finestra di manutenzione opzionale per il processo pianificato di distribuzione del documento del processo in tutti i dispositivi del gruppo di destinazione. Il formato stringa per `maintenanceWindow` è YYYY/MM/DD per la data e hh:mm per l'ora.

**endBehavior**  
Specifica il comportamento del processo per un processo pianificato al raggiungimento di `endTime`.

**Nota**  
L'opzione `SchedulingConfig` relativa a un lavoro è visualizzabile nella finestra e. [https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeJob.html](https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeJob.html) APIs

## Configurazione del timeout
<a name="job-timeout-api"></a>

Per aggiungere questa configurazione utilizzando l'API, specifica il parametro [https://docs.aws.amazon.com/iot/latest/apireference/API_TimeoutConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_TimeoutConfig.html) opzionale quando esegui [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html) o l’operazione API [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html).

Per utilizzare la configurazione di timeout

1. Per impostare il timer in corso durante la creazione di un lavoro o di un modello di lavoro, impostate un valore per la `inProgressTimeoutInMinutes` proprietà dell'oggetto opzionale [TimeoutConfig](https://docs.aws.amazon.com//iot/latest/apireference/API_TimeoutConfig.html).

   ```
       "timeoutConfig": { 
         "inProgressTimeoutInMinutes": number
      }
   ```

1. Per specificare uno step timer per l'esecuzione di un lavoro, impostate un valore per `stepTimeoutInMinutes` quando chiamate [UpdateJobExecution](https://docs.aws.amazon.com//iot/latest/apireference/API_iot-jobs-data_UpdateJobExecution.html). Il timer della fase si applica solo all'esecuzione del processo che stai aggiornando. È possibile impostare un nuovo valore per questo timer ogni volta che si aggiorna l'esecuzione di un processo.
**Nota**  
`UpdateJobExecution` può eliminare un timer della fase già esistente creandone uno nuovo con un valore di -1.

   ```
   {
      ... 
       "statusDetails": { 
         "string" : "string" 
      },
      "stepTimeoutInMinutes": number
   }
   ```

1. Per creare un nuovo step timer, puoi anche chiamare l'operazione [StartNextPendingJobExecution](https://docs.aws.amazon.com//iot/latest/apireference/API_iot-jobs-data_StartNextPendingJobExecution.html)API.

## Configurazione del nuovo tentativo
<a name="job-retry-api"></a>

**Nota**  
Quando crei un processo, valuta un numero di nuovi tentativi appropriato per la configurazione. Per evitare costi eccessivi a causa di potenziali tentativi falliti, puoi aggiungere una configurazione di interruzione. Dopo avere creato un processo, il numero di nuovi tentativi non può essere modificato. È possibile impostare il numero di tentativi su 0 solo utilizzando l'operazione [UpdateJob](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateJob.html)API.

Per aggiungere questa configurazione utilizzando l'API, specifica il parametro [https://docs.aws.amazon.com/iot/latest/apireference/API_jobExecutionsRetryConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_jobExecutionsRetryConfig.html) opzionale quando esegui [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html) o l’operazione API [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html).

```
{
...
  "jobExecutionsRetryConfig": { 
      "criteriaList": [ 
         { 
            "failureType": "string",
            "numberOfRetries": number
         }
      ]
  }
...
}
```

Dove **criteriaList** è un array che specifica l'elenco di criteri che determina il numero di nuovi tentativi consentiti per ogni tipo di errore di un processo.