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
.
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'JobExecutionSummaryForThing
objet 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
targetSelection
doit ê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 TimeoutConfigqui 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'
targets
argument 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
documentSource
doit ê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
documentSource
doit ê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
jobId
doivent ê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.
Obtient 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.