View a markdown version of this page

Appareils et tâches - AWS IoT Core

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 AWS IoT Jobs via MQTT, HTTP Signature Version 4 ou 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 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/nom de l'objet/jobs/notify

    Abonnez-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/nom de la chose/jobs/notify-suivant

    Abonnez-vous à cette rubrique pour vous avertir lorsque l’exécution de la prochaine tâche en attente a changé.

  • $aws/things/nom de la chose/emplois/nom de la demande/accepté

    Le 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 ou rejected à la rubrique utilisée pour effectuer la demande. request-nameVoici le nom d'une demande telle que Get 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/nom de la chose/emplois/nom de la demande/rejeté

    request-nameVoici le nom d’une demande telle que Get. 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 :

Les appareils peuvent communiquer avec AWS IoT Jobs à l'aide de la version 4 de la signature HTTP 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 Référence des AWS CLI commandes : iot-jobs-data ou AWS SDK et outils et reportez-vous à la IotJobsDataPlane section correspondant à votre langue préférée.

Avec cette méthode de communication, votre appareil utilise des 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 via 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 une authentification X.509 basée sur des certificats (par exemple, son certificat et sa clé privée spécifiques à l'appareil).

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 les commandes API ou CLI correspondantes. Pour ces exemples, nous supposons qu’un appareil appelé MyThing qui s’abonne aux rubriques MQTT suivantes :

  • $aws/things/MyThing/jobs/notify (ou $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.