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 Jobs AWS IoT
Vous pouvez utiliser l'API CreateJobou l'CreateJobTemplateAPI 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 JobExecutionSummaryet JobExecutionSummaryForJobconsulter 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.
Configuration du déploiement
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
JobExecutionsRolloutConfig
pour ajouter le paramètremaximumPerMinute
à la demandeCreateJob
. 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
JobExecutionsRolloutConfig
. Vous pouvez configurer la propriété
lorsque vous exécutez l’opération d’APIExponentialRolloutRate
CreateJob
. L’exemple suivant définit une fréquence de déploiement exponentielle en utilisant le paramètreexponentialRate
. Pour de plus amples informations sur les paramètres, veuillez consulterExponentialRolloutRate
.{ ... "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
ounumberOfSucceededThings
ait été atteint. - incrementFactor
-
Spécifie le facteur exponentiel par lequel la fréquence de déploiement augmente après que le seuil
numberOfNotifiedThings
ounumberOfSucceededThings
a été atteint. - rateIncreaseCriteria
-
Spécifie le seuil
numberOfNotifiedThings
ounumberOfSucceededThings
.
Annulation de la configuration
Pour ajouter cette configuration à l’aide de l’API, spécifiez le paramètre AbortConfig
lorsque vous exécutez l’opération CreateJob
ou l’opération de l’API CreateJobTemplate
. 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
etALL
. - 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.
Pour ajouter cette configuration à l’aide de l’API, spécifiez l’option SchedulingConfig
lorsque vous exécutez l’opération CreateJob
ou l’opération API CreateJobTemplate
.
"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 pour
maintenanceWindow
est AAAA/MM/JJ pour la date et hh:mm pour l’heure.- endBehavior
-
Spécifie le comportement d’une tâche planifiée lorsqu’elle atteint le
endTime
.
Note
Le SchedulingConfig
facultatif pour une tâche est consultable dans le DescribeJob
et les API DescribeJobTemplate
.
Configuration du délai d’attente
Pour ajouter cette configuration à l’aide de l’API, spécifiez le paramètre TimeoutConfig
lorsque vous exécutez l’opération CreateJob
ou l’opération de l’API CreateJobTemplate
.
Pour utiliser la configuration du délai d’expiration
-
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'TimeoutConfigobjet facultatif."timeoutConfig": { "inProgressTimeoutInMinutes": number }
-
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. 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 }
-
Pour créer un nouveau chronomètre, vous pouvez également appeler l'opération StartNextPendingJobExecutionAPI.
Nouvelle tentative de configuration
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 UpdateJobAPI.
Pour ajouter cette configuration à l’aide de l’API, spécifiez le paramètre jobExecutionsRetryConfig
lorsque vous exécutez l’opération CreateJob
ou l’opération de l’API CreateJobTemplate
.
{ ... "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.