

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.

# Spécifiez les configurations des tâches à l'aide de l'API AWS IoT Jobs
<a name="job-configurations-api"></a>

Vous pouvez utiliser l'API [CreateJob](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html)ou l'[CreateJobTemplate](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html)API pour spécifier les différentes configurations de travail. Les sections suivantes décrivent comment ajouter ces configurations. Après avoir ajouté les configurations, vous pouvez utiliser [JobExecutionSummary](https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionSummary.html)et [JobExecutionSummaryForJob](https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionSummaryForJob.html)consulter leur statut.

Pour plus d’informations sur l’installation et la configuration des différents kit SDK, consultez [Comment fonctionnent les configurations de tâches](jobs-configurations-details.md).

## Configuration du déploiement
<a name="job-rollout-api"></a>

Vous pouvez spécifier une fréquence de déploiement constante ou une fréquence de déploiement exponentielle pour votre configuration de déploiement.
+ 

**Définissez une fréquence de déploiement constante**  
Pour définir une fréquence de déploiement constante, utilisez l’objet [https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionsRolloutConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionsRolloutConfig.html) pour ajouter le paramètre `maximumPerMinute` à la demande `CreateJob`. Ce paramètre spécifie la limite supérieure de la fréquence à laquelle les exécutions de tâche peuvent se produire. Cette valeur est facultative et est comprise entre 1 et 1 000. Si vous ne définissez pas de valeur, elle utilise 1000 comme valeur par défaut.

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

**Définissez une fréquence de déploiement exponentielle**  
Pour définir une fréquence de déploiement des tâches variable, utilisez l’objet [https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionsRolloutConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_JobExecutionsRolloutConfig.html). Vous pouvez configurer la propriété `ExponentialRolloutRate` lorsque vous exécutez l’opération d’API `CreateJob`. L’exemple suivant définit une fréquence de déploiement exponentielle en utilisant le paramètre `exponentialRate`. Pour plus d’informations sur les paramètres, consultez [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
      }
    }
  ...
  }
  ```

Où le paramètre :

**baseRatePerMinutes**  
Spécifie la fréquence à laquelle les tâches sont exécutées jusqu’à ce que le seuil `numberOfNotifiedThings` ou `numberOfSucceededThings` ait été atteint.

**incrementFactor**  
Spécifie le facteur exponentiel par lequel la fréquence de déploiement augmente après que le seuil `numberOfNotifiedThings` ou `numberOfSucceededThings` a été atteint.

**rateIncreaseCriteria**  
Spécifie le seuil `numberOfNotifiedThings` ou `numberOfSucceededThings`.

## Annulation de la configuration
<a name="job-abort-api"></a>

Pour ajouter cette configuration à l’aide de l’API, spécifiez le paramètre [https://docs.aws.amazon.com/iot/latest/apireference/API_AbortConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_AbortConfig.html) lorsque vous exécutez l’opération [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html) ou l’opération de l’API [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html). L’exemple suivant montre une configuration d’annulation pour le déploiement d’une tâche qui a connu plusieurs échecs d’exécution, comme spécifié lors de l’opération d’API `CreateJob`.

**Note**  
La suppression d’exécutions de tâche affecte la valeur de calcul de l’exécution totale achevée. Lorsqu'une tâche est annulée, le service crée un `comment` et un `reasonCode` automatiques pour différencier une annulation guidée par l'utilisateur d'une annulation par interruption de tâche.

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

Où le paramètre :

**action**  
Spécifie l’action à entreprendre lorsque les critères d’annulation sont satisfaits. Ce paramètre est obligatoire et `CANCEL` est la seule valeur valide.

**failureType**  
Spécifie les types d’échec qui doivent entraîner l’annulation d’une tâche. Les valeurs valides sont `FAILED`, `REJECTED`, `TIMED_OUT` et `ALL`.

**minNumberOfExecutedThings**  
Le paramètre spécifie le nombre d’exécutions de tâches terminées qui doivent se produire avant que le service ne vérifie si les critères d’annulation de tâche ont été satisfaits. Dans cet exemple, AWS IoT ne vérifie pas si une annulation de tâche doit se produire tant que 100 appareils au moins n'ont pas terminé les exécutions de tâche.

**thresholdPercentage**  
Spécifie le nombre total d’éléments pour lesquels les tâches sont exécutées et qui peuvent déclencher l’annulation d’une tâche. Dans cet exemple, AWS IoT effectue des vérifications séquentielles et lance un abandon de tâche si le pourcentage seuil est atteint. Si au moins 20 % des exécutions complètes échouent après 100 exécutions, le déploiement de la tâche est annulé. Si ce critère n'est pas rempli, AWS IoT vérifie si au moins 50 % des exécutions terminées ont expiré après la fin des 200 exécutions. Si tel est le cas, le déploiement de la tâche est annulé.

## Configuration d’une planification.
<a name="job-scheduling-api"></a>

Pour ajouter cette configuration à l’aide de l’API, spécifiez l’option [https://docs.aws.amazon.com/iot/latest/apireference/API_SchedulingConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_SchedulingConfig.html)lorsque vous exécutez l’opération [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html) ou l’opération 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
   }
```

Où le paramètre :

**startTime**  
Spécifie la date et l’heure de lancement de la tâche.

**endTime**  
Spécifie la date et l’heure de la fin de tâche.

**maintenanceWindows**  
Spécifie si un créneau de maintenance facultative a été sélectionné pour la tâche planifiée afin de déployer le document de tâche sur tous les appareils du groupe cible. Le format de chaîne YYYY/MM/DD pour `maintenanceWindow` correspond à la date et hh:mm à l'heure.

**endBehavior**  
Spécifie le comportement d’une tâche planifiée lorsqu’elle atteint le `endTime`.

**Note**  
L'option `SchedulingConfig` pour une tâche est visible dans le [https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeJob.html](https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeJob.html)et [https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeJobTemplate.html](https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeJobTemplate.html) APIs.

## Configuration du délai d’attente
<a name="job-timeout-api"></a>

Pour ajouter cette configuration à l’aide de l’API, spécifiez le paramètre [https://docs.aws.amazon.com/iot/latest/apireference/API_TimeoutConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_TimeoutConfig.html) lorsque vous exécutez l’opération [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html) ou l’opération de l’API [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html).

Pour utiliser la configuration du délai d’expiration

1. Pour définir le chronomètre en cours lorsque vous créez une tâche ou un modèle de tâche, définissez une valeur pour la `inProgressTimeoutInMinutes` propriété de l'[TimeoutConfig](https://docs.aws.amazon.com//iot/latest/apireference/API_TimeoutConfig.html)objet facultatif.

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

1. Pour spécifier un chronomètre pour l'exécution d'une tâche, définissez une valeur pour le `stepTimeoutInMinutes` moment où vous appelez [UpdateJobExecution](https://docs.aws.amazon.com//iot/latest/apireference/API_iot-jobs-data_UpdateJobExecution.html). Le minuteur d'étape s'applique uniquement à l'exécution des tâches que vous mettez à jour. Vous pouvez définir une nouvelle valeur pour ce minuteur chaque fois que vous mettez à jour une exécution de tâche.
**Note**  
`UpdateJobExecution` peut également ignorer un chronomètre à étapes qui a déjà été créé en créant un chronomètre à étapes avec la valeur de -1.

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

1. Pour créer un nouveau chronomètre, vous pouvez également appeler l'opération [StartNextPendingJobExecution](https://docs.aws.amazon.com//iot/latest/apireference/API_iot-jobs-data_StartNextPendingJobExecution.html)API.

## Nouvelle tentative de configuration
<a name="job-retry-api"></a>

**Note**  
Lorsque vous créez une tâche, considérez le nombre approprié de tentatives à utiliser pour votre configuration. Pour éviter d’encourir des coûts supplémentaires en cas d’échec potentiel des nouvelles tentatives, ajoutez une configuration d’annulation. Une fois qu’une tâche a été créée, le nombre de tentatives ne peut pas être mis à jour. Vous pouvez uniquement définir le nombre de tentatives à 0 à l'aide de l'opération [UpdateJob](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateJob.html)API.

Pour ajouter cette configuration à l’aide de l’API, spécifiez le paramètre [https://docs.aws.amazon.com/iot/latest/apireference/API_jobExecutionsRetryConfig.html](https://docs.aws.amazon.com/iot/latest/apireference/API_jobExecutionsRetryConfig.html) lorsque vous exécutez l’opération [https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html) ou l’opération de l’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
         }
      ]
  }
...
}
```

Où **Criterialist** est un tableau spécifiant la liste des critères qui déterminent le nombre de tentatives autorisées pour chaque type d’échec d’une tâche.