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.
Gestión y control de trabajos API y tipos de datos
Los siguientes comandos están disponibles para la gestión y el control de las tareas en CLI y sobre el HTTPS protocolo.
Para determinar el endpoint-url
parámetro de sus CLI comandos, ejecute este comando.
aws iot describe-endpoint --endpoint-type=iot:Jobs
Este comando devuelve la siguiente salida.
{ "endpointAddress": "
account-specific-prefix
.jobs.iot.aws-region
.amazonaws.com" }
nota
El punto final de Jobs no es compatible ALPNx-amzn-http-ca
.
Tipos de datos de administración y control de trabajo
Las aplicaciones de administración y control utilizan los siguientes tipos de datos para comunicarse con AWS IoT Jobs.
El objeto Job
contiene detalles acerca de un trabajo. En el siguiente ejemplo se muestra la sintaxis:
{ "jobArn": "string", "jobId": "string", "status": "IN_PROGRESS|CANCELED|SUCCEEDED", "forceCanceled": boolean, "targetSelection": "CONTINUOUS|SNAPSHOT", "comment": "string", "targets": ["string"], "description": "string", "createdAt": timestamp, "lastUpdatedAt": timestamp, "completedAt": timestamp, "jobProcessDetails": { "processingTargets": ["string"], "numberOfCanceledThings": long, "numberOfSucceededThings": long, "numberOfFailedThings": long, "numberOfRejectedThings": long, "numberOfQueuedThings": long, "numberOfInProgressThings": long, "numberOfRemovedThings": long, "numberOfTimedOutThings": long }, "presignedUrlConfig": { "expiresInSec": number, "roleArn": "string" }, "jobExecutionsRolloutConfig": { "exponentialRate": { "baseRatePerMinute": integer, "incrementFactor": integer, "rateIncreaseCriteria": { "numberOfNotifiedThings": integer, // Set one or the other "numberOfSucceededThings": integer // of these two values. }, "maximumPerMinute": integer } }, "abortConfig": { "criteriaList": [ { "action": "string", "failureType": "string", "minNumberOfExecutedThings": integer, "thresholdPercentage": integer } ] }, "SchedulingConfig": { "startTime": string "endTime": string "timeZone": string "endTimeBehavior": string }, "timeoutConfig": { "inProgressTimeoutInMinutes": long } }
El objeto JobSummary
contiene un resumen de trabajos. En el siguiente ejemplo se muestra la sintaxis:
{ "jobArn": "string", "jobId": "string", "status": "IN_PROGRESS|CANCELED|SUCCEEDED|SCHEDULED", "targetSelection": "CONTINUOUS|SNAPSHOT", "thingGroupId": "string", "createdAt": timestamp, "lastUpdatedAt": timestamp, "completedAt": timestamp }
Para obtener más información, consulte JobSummary
o job-summary
.
El objeto JobExecution
representa la ejecución de un trabajo en un dispositivo. En el siguiente ejemplo se muestra la sintaxis:
nota
Cuando se utilizan las API operaciones del plano de control, el tipo de JobExecution
datos no contiene ningún JobDocument
campo. Para obtener esta información, puede utilizar la GetJobDocument
APIoperación o el get-job-document
CLIcomando.
{ "approximateSecondsBeforeTimedOut": 50, "executionNumber": 1234567890, "forceCanceled": true|false, "jobId": "string", "lastUpdatedAt": timestamp, "queuedAt": timestamp, "startedAt": timestamp, "status": "QUEUED|IN_PROGRESS|FAILED|SUCCEEDED|CANCELED|TIMED_OUT|REJECTED|REMOVED", "forceCanceled": boolean, "statusDetails": { "detailsMap": { "string": "string" ... }, "status": "string" }, "thingArn": "string", "versionNumber": 123 }
Para obtener más información, consulte JobExecution
o job-execution
.
El objeto JobExecutionSummary
contiene información del resumen de ejecución de trabajo. En el siguiente ejemplo se muestra la sintaxis:
{ "executionNumber": 1234567890, "queuedAt": timestamp, "lastUpdatedAt": timestamp, "startedAt": timestamp, "status": "QUEUED|IN_PROGRESS|FAILED|SUCCEEDED|CANCELED|TIMED_OUT|REJECTED|REMOVED" }
Para obtener más información, consulte JobExecutionSummary
o job-execution-summary
.
El objeto JobExecutionSummaryForJob
contiene un resumen de información acerca de las ejecuciones de trabajo para un trabajo específico. En el siguiente ejemplo se muestra la sintaxis:
{ "executionSummaries": [ { "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/MyThing", "jobExecutionSummary": { "status": "IN_PROGRESS", "lastUpdatedAt": 1549395301.389, "queuedAt": 1541526002.609, "executionNumber": 1 } }, ... ] }
Para obtener más información, consulte JobExecutionSummaryForJob
o job-execution-summary-for-job
.
El JobExecutionSummaryForThing
objeto contiene un resumen de la información sobre la ejecución de un trabajo en un elemento específico. FTheEl siguiente ejemplo muestra la sintaxis:
{ "executionSummaries": [ { "jobExecutionSummary": { "status": "IN_PROGRESS", "lastUpdatedAt": 1549395301.389, "queuedAt": 1541526002.609, "executionNumber": 1 }, "jobId": "MyThingJob" }, ... ] }
Para obtener más información, consulte JobExecutionSummaryForThing
o job-execution-summary-for-thing
.
APIOperaciones de gestión y control de trabajos
Utilice las siguientes API operaciones o CLI comandos:
Asocia un grupo a un trabajo continuo. Deben cumplirse los siguientes criterios:
-
El trabajo debe haberse creado con el campo
targetSelection
establecido enCONTINUOUS
. -
El estado del trabajo debe ser actualmente
IN_PROGRESS
. -
El número total de destinos asociados con un trabajo no debe ser superior a 100.
Cancela un trabajo.
Cancela la ejecución de un trabajo en un dispositivo.
Crea un trabajo. Puede proporcionar el documento de trabajo como enlace a un archivo en un bucket de Amazon S3 (parámetro documentSource
) o en el cuerpo de la solicitud (parámetro document
).
Un trabajo puede ser continuo si se establece el parámetro opcional targetSelection
en CONTINUOUS
(el predeterminado es SNAPSHOT
). Un trabajo continuo se puede usar para incorporar o actualizar los dispositivos a medida que se agregan a un grupo, ya que continúa ejecutándose y se lanza cuando se agregan nuevos objetos. Esto puede ocurrir incluso después de que los objetos del grupo en el momento en que se creó el trabajo lo hayan completado.
Un trabajo puede tener una opción TimeoutConfig, que establece el valor del temporizador en curso. El temporizador en curso no se puede actualizar y se aplica a todas las ejecuciones del trabajo.
Las siguientes validaciones se realizan en los argumentos de: CreateJob
API
-
El
targets
argumento debe ser una lista de cosas o grupos de cosas válidos. ARNs Todas las cosas y grupos de cosas deben estar en su Cuenta de AWS. -
El
documentSource
argumento debe ser un Amazon S3 válido URL para un documento de trabajo. Amazon S3 URLs tienen el formato:https://s3.amazonaws.com/
.bucketName
/objectName
-
El documento almacenado en el URL especificado por el
documentSource
argumento debe ser un JSON documento codificado en UTF -8. -
El tamaño de un documento de trabajo está limitado a 32 KB debido al límite del tamaño del MQTT mensaje (128 KB) y del cifrado.
-
jobId
Debe ser único en su Cuenta de AWS.
Elimina un trabajo y sus ejecuciones de trabajo relacionadas.
La eliminación de un trabajo puede tardar tiempo, en función del número de ejecuciones de trabajo creadas para el trabajo y otros factores diversos. Mientras se elimina el trabajo, el estado del trabajo se muestra como "DELETION_IN_PROGRESS». Si se intenta eliminar o cancelar un trabajo cuyo estado ya es «DELETION_EN_PROGRESS», se produce un error.
Elimina una ejecución de trabajo.
Obtiene los detalles de la ejecución de trabajo.
Obtiene los detalles de una ejecución de trabajo. El estado de la ejecución del trabajo debe ser SUCCEEDED
o FAILED
.
Obtiene el documento de trabajo para un trabajo.
nota
URLsLos marcadores de posición no se sustituyen por Amazon S3 prefirmado URLs en el documento devuelto. Los URLs prefirmados solo se generan cuando el servicio AWS IoT Jobs recibe una solicitud. MQTT
Obtiene una lista de ejecuciones de trabajo para un trabajo.
Obtiene una lista de ejecuciones de trabajo para un objeto.
Obtiene una lista de los trabajos de su. Cuenta de AWS
Actualiza los campos admitidos del trabajo especificado. Los valores actualizados de timeoutConfig
surten efecto solo en lanzamientos recientemente en curso. Actualmente, los lanzamientos en curso siguen lanzándose con la configuración de tiempo de espera anterior.