AWS IoTtâches, opérations d'API - 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.

AWS IoTtâches, opérations d'API

AWS IoTL'API Jobs peut être utilisée pour l'une des catégories suivantes :

  • Tâches administratives telles que la gestion et le contrôle des tâches. C'est leplan de contrôle.

  • Appareils effectuant ces tâches. C'est leplan de données, qui vous permet d'envoyer et de recevoir des données.

La gestion et le contrôle des tâches utilisent une API de protocole HTTPS. Les appareils peuvent utiliser une API MQTT ou une API du protocole HTTPS. L'API du plan de contrôle est conçue pour un faible volume d'appels, comme c'est le cas lors de la création et du suivi de tâches. Elle ouvre généralement une connexion pour une seule demande, puis la ferme après réception de la réponse. Le plan de données HTTPS et l'API MQTT permettent des interrogations longues. Ces opérations d'API sont conçues pour des volumes de trafic importants pouvant atteindre des millions d'appareils.

ChaqueAWS IoTL'API HTTPS de Jobs possède une commande correspondante qui vous permet d'appeler l'API à partir duAWS Command Line Interface(AWS CLI). Les commandes sont en minuscules, avec un trait d'union entre les mots qui composent le nom de l'API. Par exemple, vous pouvez appeler l'API CreateJob sur l'interface de ligne de commande en tapant :

aws iot create-job ...

Si une erreur se produit au cours d'une opération, vous recevez une réponse d'erreur contenant des informations sur l'erreur.

Contient les informations sur une erreur qui s'est produite au cours d'une opération du service AWS IoT Jobs.

L'exemple suivant montre la syntaxe de cette opération :

{ "code": "ErrorCode", "message": "string", "clientToken": "string", "timestamp": timestamp, "executionState": JobExecutionState }

Ce qui suit en est une descriptionErrorResponse:

code

ErrorCodepeut être réglé sur :

InvalidTopic

La demande a été envoyée vers une rubrique duAWS IoTEspace de noms de tâches qui ne correspond à aucune opération d'API.

InvalidJson

Le contenu de la requête n'a pas pu être interprété comme un code JSON valide codé en UTF-8.

InvalidRequest

Le contenu de la demande n'était pas valide. Par exemple, ce code est renvoyé lorsqu'une demande UpdateJobExecution contient des détails d'état non valides. Le message contient des détails sur l'erreur.

InvalidStateTransition

Une mise à jour a tenté de modifier l'exécution de la tâche vers un état qui n'est pas valide en raison de l'état actuel de l'exécution de la tâche. Par exemple, une tentative de modification de l'état SUCCESSED d'une requête en état IN_PROGRESS. Dans ce cas, le corps du message d'erreur contient aussi le champ executionState.

ResourceNotFound

LeJobExecutionspécifié par le sujet de la demande n'existe pas.

VersionMismatch

La version attendue spécifiée dans la demande ne correspond pas à la version de l'exécution de la tâche dansAWS IoTService de l'emploi. Dans ce cas, le corps du message d'erreur contient aussi le champ executionState.

InternalError

Une erreur interne s'est produite pendant le traitement de la demande.

RequestThrottled

La demande a été limitée.

TerminalStateReached

Se produit quand une commande pour décrire une tâche est exécutée sur une tâche qui se trouve dans un état terminal.

message

Chaîne de message d'erreur.

clientToken

Chaîne arbitraire utilisée pour mettre en corrélation une demande et sa réponse.

timestamp

Nombre de secondes depuis la date epoch Unix.

executionState

Un objet JobExecutionState. Ce champ est inclus uniquement lorsque le champ code a la valeur InvalidStateTransition ou VersionMismatch. Il est donc inutile dans ces cas-là d'effectuer une demande DescribeJobExecution distincte pour obtenir les données du statut d'exécution de tâche en cours.