Operaciones de la API de trabajos de AWS IoT - AWS IoT Core

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 campo code tiene el valor InvalidStateTransition o VersionMismatch. Esto hace que no sea necesario en esos casos realizar una solicitud DescribeJobExecution independiente para obtener los datos de estado de ejecución de trabajo actuales.