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.
Appareils et tâches
Les appareils peuvent communiquer avec les AWS IoT tâches à l'aide de MQTT, de la signature HTTP version 4 ou du protocole HTTP TLS. Pour déterminer le point de terminaison à utiliser lorsque votre appareil communique avec AWS IoT Jobs, exécutez la DescribeEndpoint commande. Par exemple, si vous exécutez la commande suivante :
aws iot describe-endpoint --endpoint-type iot:Data-ATS
vous verrez une réponse comme celle-ci :
{ "endpointAddress": "a1b2c3d4e5f6g7-ats.iot.us-west-2.amazonaws.com" }
Les appareils peuvent communiquer avec les AWS IoT Jobs à l'aide du protocole MQTT. Les appareils s'abonnent aux rubriques MQTT pour être informés des nouvelles tâches et recevoir des réponses du service AWS IoT Jobs. Les appareils publient sur les rubriques MQTT pour interroger ou mettre à jour l’état de lancement d’une tâche. Chaque appareil a sa propre rubrique MQTT générale. Pour plus d'informations sur la publication et l'abonnement aux rubriques MQTT, consultez Protocoles de communication des appareils.
Avec cette méthode de communication, votre appareil utilise son certificat et sa clé privée spécifiques pour s'authentifier auprès de Jobs. AWS IoT
Vos appareils peuvent s’abonner aux rubriques suivantes. thing-name
est le nom de l’élément associé à l’appareil.
-
$aws/things/
thing-name
/jobs/notifyAbonnez-vous à cette rubrique pour être averti lorsqu’un lancement de tâche est ajouté ou supprimé de la liste des lancements de tâches en attente.
-
$aws/things/
thing-name
/jobs/notify-nextAbonnez-vous à cette rubrique pour vous avertir lorsque l’exécution de la prochaine tâche en attente a changé.
-
$aws/things/
thing-name
/jobs/request-name
/acceptedLe service AWS IoT Jobs publie des messages de réussite et d'échec sur un sujet MQTT. La rubrique est formée en ajoutant
accepted
ourejected
à la rubrique utilisée pour effectuer la demande.request-name
Voici le nom d'une demande telle queGet
et le sujet peut être :$aws/things/myThing/jobs/get
. AWS IoT Jobs publie ensuite des messages de réussite sur le$aws/things/myThing/jobs/get/accepted
sujet. -
$aws/things/
thing-name
/jobs/request-name
/rejectedrequest-name
Voici le nom d’une demande telle queGet
. Si la demande échoue, AWS IoT Jobs publie des messages d'échec sur le$aws/things/myThing/jobs/get/rejected
sujet.
Vous pouvez également utiliser les opérations d’API HTTPS suivantes :
-
Mettre à jour le statut d'une exécution de tâche en appelant l'API
UpdateJobExecution
. -
Interroger le statut d'une exécution de tâche en appelant l'API
DescribeJobExecution
. -
Récupérer la liste des exécutions de tâche en attente en appelant l'API
GetPendingJobExecutions
. -
Récupérer la prochaine exécution de tâche en attente en appelant l’API
DescribeJobExecution
avecjobId
en tant que$next
. -
Obtenir et démarrer la prochaine exécution de tâche en attente en appelant l'API
StartNextPendingJobExecution
.
Les appareils peuvent communiquer avec AWS IoT Jobs à l'aide de la signature HTTP version 4 sur le port 443. Il s'agit de la méthode utilisée par les kits SDK AWS et l’interface de ligne de commande. Pour plus d'informations sur ces outils, consultez la section Référence des AWS CLI commandes : iot-jobs-data ou AWS SDK et outils
Avec cette méthode de communication, votre appareil utilise les informations d'identification IAM pour s'authentifier auprès de Jobs. AWS IoT
Les commandes suivantes sont disponibles à l'aide de cette méthode :
-
DescribeJobExecution
aws iot-jobs-data describe-job-execution ...
-
GetPendingJobExecutions
aws iot-jobs-data get-pending-job-executions ...
-
StartNextPendingJobExecution
aws iot-jobs-data start-next-pending-job-execution ...
-
UpdateJobExecution
aws iot-jobs-data update-job-execution ...
Les appareils peuvent communiquer avec AWS IoT Jobs à l'aide du protocole HTTP TLS sur le port 8443 à l'aide d'un client logiciel tiers prenant en charge ce protocole.
Avec cette méthode, votre appareil utilise l'authentification basée sur le certificat X.509 (par exemple, à l'aide du certificat et de la clé privée qui lui sont propres.)
Les commandes suivantes sont disponibles à l'aide de cette méthode :
-
DescribeJobExecution
-
GetPendingJobExecutions
-
StartNextPendingJobExecution
-
UpdateJobExecution
Programmation des appareils pour une utilisation avec Jobs
Les exemples de cette section utilisent MQTT pour illustrer la façon dont un appareil utilise le service AWS IoT Jobs. Vous pouvez également utiliser l'API ou les commandes CLI correspondantes. Pour ces exemples, nous supposons qu’un appareil appelé MyThing
qui s’abonne aux rubriques MQTT suivantes :
-
$aws/things/
(ouMyThing
/jobs/notify$aws/things/
)MyThing
/jobs/notify-next -
$aws/things/
MyThing
/jobs/get/accepted -
$aws/things/
MyThing
/jobs/get/rejected -
$aws/things/
MyThing
/jobs/jobId
/get/accepted -
$aws/things/
MyThing
/jobs/jobId
/get/rejected
Si vous utilisez la signature de code pour AWS IoT, le code de votre appareil doit vérifier la signature de votre fichier de code. La signature se trouve dans le document de tâche dans la propriété codesign
. Pour plus d'informations sur la vérification d'une signature de fichier de code, consultez Exemple d'agent d'appareil