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.
Types de données de gestion et de contrôle des tâches d’API
Les commandes suivantes sont disponibles pour la gestion et le contrôle des tâches dans la CLI et via le protocole HTTPS.
Pour déterminer le endpoint-url paramètre de vos commandes CLI, exécutez cette commande.
aws iot describe-endpoint --endpoint-type=iot:Jobs
Cette commande renvoie la sortie suivante.
{ "endpointAddress": "account-specific-prefix.jobs.iot.aws-region.amazonaws.com" }
Note
Le point de terminaison de tâches ne prend pas en charge ALPN x-amzn-http-ca.
Si vous utilisez des points de terminaison à double pile (IPv6 et IPv6), utilisez le iot:Data-ATS point de terminaison. Le iot:Jobs point de terminaison prend uniquement en charge IPv4.
Types de données de gestion et de contrôle des tâches
Les types de données suivants sont utilisés par les applications de gestion et de contrôle pour communiquer avec AWS IoT Jobs.
L'objet Job contient des informations sur une tâche. L'exemple suivant montre la syntaxe :
{ "jobArn": "string", "jobId": "string", "status": "IN_PROGRESS|CANCELED|SUCCEEDED", "forceCanceled": boolean, "targetSelection": "CONTINUOUS|SNAPSHOT", "comment": "string", "targets": ["string"], "description": "string", "createdAt": timestamp, "lastUpdatedAt": timestamp, "completedAt": timestamp, "jobProcessDetails": { "processingTargets": ["string"], "numberOfCanceledThings": long, "numberOfSucceededThings": long, "numberOfFailedThings": long, "numberOfRejectedThings": long, "numberOfQueuedThings": long, "numberOfInProgressThings": long, "numberOfRemovedThings": long, "numberOfTimedOutThings": long }, "presignedUrlConfig": { "expiresInSec": number, "roleArn": "string" }, "jobExecutionsRolloutConfig": { "exponentialRate": { "baseRatePerMinute": integer, "incrementFactor": integer, "rateIncreaseCriteria": { "numberOfNotifiedThings": integer, // Set one or the other "numberOfSucceededThings": integer // of these two values. }, "maximumPerMinute": integer } }, "abortConfig": { "criteriaList": [ { "action": "string", "failureType": "string", "minNumberOfExecutedThings": integer, "thresholdPercentage": integer } ] }, "SchedulingConfig": { "startTime": string "endTime": string "timeZone": string "endTimeBehavior": string }, "timeoutConfig": { "inProgressTimeoutInMinutes": long } }
L'objet JobSummary contient un résumé de tâche. L'exemple suivant montre la syntaxe :
{ "jobArn": "string", "jobId": "string", "status": "IN_PROGRESS|CANCELED|SUCCEEDED|SCHEDULED", "targetSelection": "CONTINUOUS|SNAPSHOT", "thingGroupId": "string", "createdAt": timestamp, "lastUpdatedAt": timestamp, "completedAt": timestamp }
Pour plus d’informations, consultez JobSummary ou job-summary.
L'objet JobExecution représente l'exécution d'une tâche sur un appareil. L'exemple suivant montre la syntaxe :
Note
Lorsque vous utilisez les opérations de l’API du plan de contrôle, le type de données JobExecution ne contient aucun champ JobDocument. Pour obtenir ces informations, vous pouvez utiliser l’opération d’API GetJobDocument ou la commande CLI get-job-document.
{ "approximateSecondsBeforeTimedOut": 50, "executionNumber": 1234567890, "forceCanceled": true|false, "jobId": "string", "lastUpdatedAt": timestamp, "queuedAt": timestamp, "startedAt": timestamp, "status": "QUEUED|IN_PROGRESS|FAILED|SUCCEEDED|CANCELED|TIMED_OUT|REJECTED|REMOVED", "forceCanceled": boolean, "statusDetails": { "detailsMap": { "string": "string" ... }, "status": "string" }, "thingArn": "string", "versionNumber": 123 }
Pour plus d’informations, consultez JobExecution ou job-execution.
L’objet JobExecutionSummary contient les informations récapitulatives sur l’exécution de tâche. L'exemple suivant montre la syntaxe :
{ "executionNumber": 1234567890, "queuedAt": timestamp, "lastUpdatedAt": timestamp, "startedAt": timestamp, "status": "QUEUED|IN_PROGRESS|FAILED|SUCCEEDED|CANCELED|TIMED_OUT|REJECTED|REMOVED" }
Pour plus d’informations, consultez JobExecutionSummary ou job-execution-summary.
L'objet JobExecutionSummaryForJob contient un récapitulatif des informations sur les exécutions de tâche d'une tâche spécifique. L'exemple suivant montre la syntaxe :
{ "executionSummaries": [ { "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyThing", "jobExecutionSummary": { "status": "IN_PROGRESS", "lastUpdatedAt": 1549395301.389, "queuedAt": 1541526002.609, "executionNumber": 1 } }, ... ] }
Pour plus d’informations, consultez JobExecutionSummaryForJob ou job-execution-summary-for-job.
L'JobExecutionSummaryForThingobjet contient un résumé des informations relatives à l'exécution d'une tâche sur un objet spécifique. FThe l'exemple suivant montre la syntaxe :
{ "executionSummaries": [ { "jobExecutionSummary": { "status": "IN_PROGRESS", "lastUpdatedAt": 1549395301.389, "queuedAt": 1541526002.609, "executionNumber": 1 }, "jobId": "MyThingJob" }, ... ] }
Pour plus d’informations, consultez JobExecutionSummaryForThing ou job-execution-summary-for-thing.
Opérations d’API de gestion et de contrôle des tâches
Utilisez les opérations API ou les commandes CLI suivantes :
Associe un groupe à une tâche continue. Les critères suivants doivent être satisfaits :
-
Lors de la création de la tâche, le champ
targetSelectiondoit être défini surCONTINUOUS. -
Le statut de la tâche doit actuellement être
IN_PROGRESS. -
Le nombre total de cibles associées à une tâche ne doit pas dépasser 100.
Annule une tâche.
Annule une exécution de tâche sur un appareil.
Crée une tâche. Vous pouvez fournir le document de tâche comme lien vers un fichier dans un compartiment S3 (paramètre documentSource) ou dans le corps de la demande (paramètre document).
Une tâche peut être rendue continue en définissant le paramètre facultatif targetSelection sur CONTINUOUS (la valeur par défaut est SNAPSHOT). Une tâche continue peut être utilisée pour intégrer ou mettre à niveau des appareils lorsqu’ils sont ajoutés à un groupe, car celui-ci continue de fonctionner et est lancé sur des éléments récemment ajoutés. Cela peut se produire même une fois que les éléments du groupe au moment de la création de la tâche ont terminé la tâche.
Une tâche peut avoir une option TimeoutConfig, qui définit la valeur du chronomètre en cours. Le minuteur d'avancement ne peut pas être mis à jour et s'applique à toutes les exécutions de la tâche.
Les validations suivantes sont effectuées sur les arguments de l'API CreateJob :
-
L'
targetsargument doit être une liste d'objets ou de groupes d'objets valides ARNs. Toutes les choses et tous les groupes d'objets doivent se trouver dans votre Compte AWS. -
L’argument
documentSourcedoit être une URL Amazon S3 valide pour un document de tâche. Amazon S3 URLs se présente sous la forme :https://s3.amazonaws.com/.bucketName/objectName -
Le document stocké dans l'URL spécifiée par l'argument
documentSourcedoit être un document JSON codé en UTF-8. -
La taille d’un document de tâche est limité à 32 Ko en raison de la limite de la taille d’un message MQTT (128 Ko) et du chiffrement.
-
Ils
jobIddoivent être uniques dans votre Compte AWS.
Supprime une tâche et ses exécutions de tâche associées.
Selon le nombre d'exécutions de tâche créées pour la tâche et divers autres facteurs, la suppression d'une tâche peut prendre du temps. Pendant la suppression de la tâche, l'état de celle-ci indique « DELETION_IN_PROGRESS ». Toute tentative de suppression ou d'annulation d'une tâche dont le statut est « DELETION_IN_PROGRESS » entraîne une erreur.
Supprime une exécution de tâche.
Obtient les détails de l’exécution de tâche.
Obtient les détails d'une exécution de tâche. Le statut de l'exécution de tâche doit être SUCCEEDED ou FAILED.
Obtient le document de tâche pour une tâche.
Note
L'espace réservé URLs n'est pas remplacé par Amazon S3 présigné URLs dans le document renvoyé. Les pré-signés ne URLs sont générés que lorsque le service AWS IoT Jobs reçoit une demande via MQTT.
Obtient la liste des exécutions de tâche d'une tâche.
Obtient la liste des exécutions de tâche d'un objet.
Permet d'obtenir une liste d'emplois dans votre Compte AWS.
Met à jour les champs pris en charge de la tâche spécifiée. Les valeurs mises à jour de timeoutConfig ne prennent effet que pour les lancements nouvellement en cours. Actuellement, les lancements en cours continuent à être lancés avec la configuration de temporisation précédente.