Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Operaciones de la API de trabajos de AWS IoT
La API de trabajos de AWS IoT se puede utilizar para cualquiera de las siguientes categorías:
-
Tareas administrativas, como la gestión y el control de los trabajos. Este es el plano de control.
-
Los dispositivos que realizan esos trabajos. Este es el plano de datos, que permite enviar y recibir datos.
La administración y control de los trabajos utilizan una API de protocolo HTTPS. Los dispositivos pueden usar una API de protocolo HTTPS o MQTT. La API del plano de control se ha diseñado para un volumen reducido de llamadas normalmente cuando se crean trabajos y se hace un seguimiento de ellos. Normalmente, abre una conexión para una solicitud única y, a continuación, cierra la conexión después de que se reciba la respuesta. Las API HTTPS y MQTT del plano de datos permiten un sondeo prolongado. Estas operaciones de API se han diseñado para cantidades grandes de tráfico que pueden escalar millones de dispositivos.
Cada API HTTPS de trabajos de AWS IoT tiene un comando correspondiente que le permite llamar a la API desde la AWS Command Line Interface (AWS CLI). Los comandos están en minúsculas, con guiones entre las palabras que conforman el nombre de la API. Por ejemplo, puede invocar la API CreateJob
en la CLI escribiendo lo siguiente:
aws iot create-job ...
Si ocurre un error durante una operación, recibirá una respuesta de error que contiene información acerca de este.
Contiene información acerca de un error que se produjo durante una operación del servicio Jobs de AWS IoT.
En el siguiente ejemplo se muestra la sintaxis de esta operación:
{ "code": "ErrorCode", "message": "string", "clientToken": "string", "timestamp": timestamp, "executionState": JobExecutionState }
A continuación se muestra una descripción de esta ErrorResponse
:
code
-
ErrorCode se puede establecer en:
- InvalidTopic
-
La solicitud se envió a un tema en el espacio de nombres de Jobs de AWS IoT que no está asignado a ninguna operación de API.
- InvalidJson
-
El contenido de la solicitud podría no interpretarse como un formato JSON con codificación UTF-8 válida.
- InvalidRequest
-
El contenido de la solicitud no es válido. Por ejemplo, se devuelve este código cuando una solicitud
UpdateJobExecution
contiene detalles de estado no válido. El mensaje contiene detalles acerca del error. - InvalidStateTransition
-
Una actualización intentó cambiar la ejecución del trabajo a un estado que no es válido debido al estado actual de dicha ejecución. Por ejemplo, un intento de cambiar una solicitud en el estado SUCCEEDED al estado IN_PROGRESS. En este caso, el cuerpo del mensaje de error también contiene el campo
executionState
. - ResourceNotFound
-
La
JobExecution
especificada por el tema de la solicitud no existe. - VersionMismatch
-
La versión esperada especificada en la solicitud no coincide con la versión de la ejecución del trabajo en el servicio Jobs de AWS IoT. En este caso, el cuerpo del mensaje de error también contiene el campo
executionState
. - InternalError
-
Se ha producido un error interno al procesar la solicitud.
- RequestThrottled
-
La solicitud se ha limitado.
- TerminalStateReached
-
Se produce cuando un comando para describir un trabajo se realiza en un trabajo que está en un estado terminal.
message
-
Una cadena de mensajes de error.
clientToken
-
Una cadena arbitraria utilizada para correlacionar una solicitud con su respuesta.
timestamp
-
El tiempo, en segundos, desde la fecha de inicio.
executionState
-
Un objeto
JobExecutionState
. Este campo se incluye solo cuando el campocode
tiene el valorInvalidStateTransition
oVersionMismatch
. Esto hace que no sea necesario en esos casos realizar una solicitudDescribeJobExecution
independiente para obtener los datos de estado de ejecución de trabajo actuales.