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.
Gestion et contrôle des tâches API et types de données
Les commandes suivantes sont disponibles pour la gestion et le contrôle des Job dans CLI et via le HTTPS protocole.
Pour déterminer le endpoint-url
paramètre de vos CLI commandes, 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 Jobs ne prend pas en charge ALPNx-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 API opérations du plan de contrôle, le type de JobExecution
données ne contient aucun JobDocument
champ. Pour obtenir ces informations, vous pouvez utiliser l'GetJobDocument
APIopération ou la get-job-document
CLIcommande.
{ "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. FThel'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
.
Gestion des tâches et API opérations de contrôle
Utilisez les API opérations ou CLI commandes 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 CreateJob
API :
-
L'
targets
argument doit être une liste d'objets ou de groupes d'objets validesARNs. Toutes les choses et tous les groupes d'objets doivent se trouver dans votre Compte AWS. -
L'
documentSource
argument doit être un Amazon S3 valide URL pour un document de travail. Amazon S3 URLs se présente sous la forme :https://s3.amazonaws.com/
.bucketName
/objectName
-
Le document stocké dans le champ URL spécifié par l'
documentSource
argument doit être un JSON document codé en UTF -8. -
La taille d'un document de travail est limitée à 32 Ko en raison de la limite de taille d'un MQTT message (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, son statut est affiché sous la forme « DELETION _IN_ PROGRESS ». Toute tentative de suppression ou d'annulation d'une tâche dont le statut est déjà « 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. 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.