API HTTP de dispositivos de Jobs - 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.

API HTTP de dispositivos de Jobs

Los dispositivos pueden comunicarse con Jobs de AWS IoT mediante la firma HTTP, versión 4, en el puerto 443. Este es el método utilizado por los SDK de AWS y la CLI. Para obtener más información sobre estas herramientas, consulte Referencia de comandos de la AWS CLI: iot-jobs-data o SDK y herramientas de AWS.

Los siguientes comandos están disponibles para los dispositivos que ejecutan los trabajos. Para obtener información sobre el uso de las operaciones de la API con el protocolo MQTT, consulteOperaciones de la API MQTT de dispositivos de Jobs.

Obtiene la lista de todos los trabajos que no están en un estado terminal, respecto de un objeto especificado.

HTTPS request
GET /things/thingName/jobs

Respuesta:

{ "inProgressJobs" : [ JobExecutionSummary ... ], "queuedJobs" : [ JobExecutionSummary ... ] }

Para obtener más información, consulte GetPendingJobExecutions.

CLI syntax
aws iot-jobs-data get-pending-job-executions \ --thing-name <value> \ [--cli-input-json <value>] \ [--generate-cli-skeleton]

cli-input-json formato:

{ "thingName": "string" }

Para obtener más información, consulte get-pending-job-executions.

Obtiene y comienza la siguiente ejecución de trabajos pendientes de un objeto (con un estado IN_PROGRESS o QUEUED).

  • Las ejecuciones de trabajo con el estado IN_PROGRESS se devuelven en primer lugar.

  • Las ejecuciones de trabajo se devuelven en el orden en el que se crearon.

  • Si la siguiente ejecución de trabajo pendiente es QUEUED, su estado cambia a IN_PROGRESS y los detalles del estado de la ejecución de trabajo se establecen según se haya especificado.

  • Si la siguiente ejecución de trabajo pendiente está ya en IN_PROGRESS, los detalles del estado no cambiarán.

  • Si no hay ejecuciones de trabajo pendientes, la respuesta no incluirá el campo execution.

  • Opcionalmente, puede crear un temporizador de pasos estableciendo un valor para la propiedad stepTimeoutInMinutes. Si no actualiza el valor de esta propiedad mediante la ejecución de UpdateJobExecution, la ejecución del trabajo agotará el tiempo de espera cuando venza el temporizador de pasos.

HTTPS request

En el siguiente ejemplo se muestra la sintaxis de la solicitud:

PUT /things/thingName/jobs/$next { "statusDetails": { "string": "string" ... }, "stepTimeoutInMinutes": long }

Para obtener más información, consulte StartNextPendingJobExecution.

CLI syntax

Sinopsis:

aws iot-jobs-data start-next-pending-job-execution \ --thing-name <value> \ {--step-timeout-in-minutes <value>] \ [--status-details <value>] \ [--cli-input-json <value>] \ [--generate-cli-skeleton]

cli-input-json formato:

{ "thingName": "string", "statusDetails": { "string": "string" }, "stepTimeoutInMinutes": long }

Para obtener más información, consulte start-next-pending-job-execution.

Obtiene información detallada acerca de una ejecución de trabajo.

Puede establecer el jobId en $next para devolver la siguiente ejecución de trabajo pendiente para un objeto. El estado de la ejecución del trabajo debe ser QUEUED o IN_PROGRESS.

HTTPS request

Solicitud:

GET /things/thingName/jobs/jobId?executionNumber=executionNumber&includeJobDocument=includeJobDocument

Respuesta:

{ "execution" : JobExecution, }

Para obtener más información, consulte DescribeJobExecution.

CLI syntax

Sinopsis:

aws iot-jobs-data describe-job-execution \ --job-id <value> \ --thing-name <value> \ [--include-job-document | --no-include-job-document] \ [--execution-number <value>] \ [--cli-input-json <value>] \ [--generate-cli-skeleton]

cli-input-json formato:

{ "jobId": "string", "thingName": "string", "includeJobDocument": boolean, "executionNumber": long }

Para obtener más información, consulte describe-job-execution.

Actualiza el estado de una ejecución de trabajo. Opcionalmente, puede crear un temporizador de pasos estableciendo un valor para la propiedad stepTimeoutInMinutes. Si no actualiza el valor de esta propiedad ejecutando UpdateJobExecution otra vez, la ejecución del trabajo agotará el tiempo de espera cuando venza el temporizador de pasos.

HTTPS request

Solicitud:

POST /things/thingName/jobs/jobId { "status": "job-execution-state", "statusDetails": { "string": "string" ... }, "expectedVersion": "number", "includeJobExecutionState": boolean, "includeJobDocument": boolean, "stepTimeoutInMinutes": long, "executionNumber": long }

Para obtener más información, consulte UpdateJobExecution.

CLI syntax

Sinopsis:

aws iot-jobs-data update-job-execution \ --job-id <value> \ --thing-name <value> \ --status <value> \ [--status-details <value>] \ [--expected-version <value>] \ [--include-job-execution-state | --no-include-job-execution-state] \ [--include-job-document | --no-include-job-document] \ [--execution-number <value>] \ [--cli-input-json <value>] \ [--step-timeout-in-minutes <value>] \ [--generate-cli-skeleton]

cli-input-json formato:

{ "jobId": "string", "thingName": "string", "status": "string", "statusDetails": { "string": "string" }, "stepTimeoutInMinutes": number, "expectedVersion": long, "includeJobExecutionState": boolean, "includeJobDocument": boolean, "executionNumber": long }

Para obtener más información, consulte update-job-execution.