Creación de plantillas de trabajo personalizadas mediante la AWS CLI - 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.

Creación de plantillas de trabajo personalizadas mediante la AWS CLI

En este tema se explica cómo crear, eliminar y recuperar los detalles sobre las plantillas de trabajo mediante la AWS CLI.

Creación de una plantilla de trabajo desde cero

El siguiente AWS CLI comando muestra cómo crear un trabajo mediante un documento de trabajo (job-document.json) almacenado en un bucket de S3 y un rol con permiso para descargar archivos de Amazon S3 (S3). DownloadRole

aws iot create-job-template \ --job-template-id 010 \ --document-source https://s3.amazonaws.com/my-s3-bucket/job-document.json \ --timeout-config inProgressTimeoutInMinutes=100 \ --job-executions-rollout-config "{ \"exponentialRate\": { \"baseRatePerMinute\": 50, \"incrementFactor\": 2, \"rateIncreaseCriteria\": { \"numberOfNotifiedThings\": 1000, \"numberOfSucceededThings\": 1000}}, \"maximumPerMinute\": 1000}" \ --abort-config "{ \"criteriaList\": [ { \"action\": \"CANCEL\", \"failureType\": \"FAILED\", \"minNumberOfExecutedThings\": 100, \"thresholdPercentage\": 20}, { \"action\": \"CANCEL\", \"failureType\": \"TIMED_OUT\", \"minNumberOfExecutedThings\": 200, \"thresholdPercentage\": 50}]}" \ --presigned-url-config "{\"roleArn\":\"arn:aws:iam::123456789012:role/S3DownloadRole\", \"expiresInSec\":3600}"

El parámetro timeout-config opcional especifica la cantidad de tiempo que cada dispositivo tiene para finalizar su ejecución del trabajo. El temporizador comienza cuando el estado de ejecución del trabajo se establece en IN_PROGRESS. Si el estado de ejecución del trabajo no se establece en otro estado terminal antes de que se cumpla el plazo, se establecerá en TIMED_OUT.

El temporizador en curso no se puede actualizar y se aplica a todos los lanzamientos del trabajo. Cuando el lanzamiento de un trabajo permanece en ese IN_PROGRESS estado durante más tiempo que este intervalo, se produce un error en el lanzamiento del trabajo y pasa al estado terminal. TIMED_OUT AWS IoT también publica una notificación MQTT.

Para obtener más información acerca de cómo crear configuraciones sobre despliegues de trabajos y anulaciones, consulte Despliegue de trabajos y configuración de anulaciones.

nota

Los documentos de trabajo que está especificados como archivos de Amazon S3 se recuperan en el momento en el que crea el trabajo. Si cambia el contenido del archivo de Amazon S3 que usó como origen de su documento de trabajo después de haberlo creado, no cambia lo que se envía a los destinos del trabajo.

Creación de una plantilla de trabajo a partir de un trabajo existente

El siguiente AWS CLI comando crea una plantilla de trabajo especificando el nombre de recurso de Amazon (ARN) de un trabajo existente. La nueva plantilla de trabajo utiliza todas las configuraciones especificadas en el trabajo. Si lo desea, puede cambiar cualquiera de las configuraciones del trabajo existente mediante cualquiera de los parámetros opcionales.

aws iot create-job-template \ --job-arn arn:aws:iot:region:123456789012:job/job-name \ --timeout-config inProgressTimeoutInMinutes=100

Obtención de detalles sobre una plantilla de trabajo

El siguiente AWS CLI comando obtiene detalles sobre una plantilla de trabajo específica.

aws iot describe-job-template \ --job-template-id template-id

El comando muestra el resultado siguiente.

{ "abortConfig": { "criteriaList": [ { "action": "string", "failureType": "string", "minNumberOfExecutedThings": number, "thresholdPercentage": number } ] }, "createdAt": number, "description": "string", "document": "string", "documentSource": "string", "jobExecutionsRolloutConfig": { "exponentialRate": { "baseRatePerMinute": number, "incrementFactor": number, "rateIncreaseCriteria": { "numberOfNotifiedThings": number, "numberOfSucceededThings": number } }, "maximumPerMinute": number }, "jobTemplateArn": "string", "jobTemplateId": "string", "presignedUrlConfig": { "expiresInSec": number, "roleArn": "string" }, "timeoutConfig": { "inProgressTimeoutInMinutes": number } }

Obtención de una lista de las plantillas de trabajo

El siguiente AWS CLI comando muestra todas las plantillas de trabajo de su Cuenta de AWS.

aws iot list-job-templates

El comando muestra el resultado siguiente.

{ "jobTemplates": [ { "createdAt": number, "description": "string", "jobTemplateArn": "string", "jobTemplateId": "string" } ], "nextToken": "string" }

Para recuperar páginas adicionales de resultados, utilice el valor del campo nextToken.

Eliminación de una plantilla de trabajo

El siguiente AWS CLI comando elimina una plantilla de trabajo especificada.

aws iot delete-job-template \ --job-template-id template-id

El comando no muestra ninguna salida.

Creación de un trabajo a partir de una plantilla de trabajo personalizada

El siguiente AWS CLI comando crea un trabajo a partir de una plantilla de trabajo personalizada. Se dirige a un dispositivo llamado thingOne y especifica el nombre de recurso de Amazon (ARN) de la plantilla de trabajo que se va a utilizar como base para el trabajo. Puede anular las configuraciones avanzadas, como las configuraciones del tiempo de espera y de cancelación, omitiendo los parámetros correspondientes del comando create-job.

aviso

El objeto document-parameters se debe utilizar con el comando create-job únicamente al crear trabajos a partir de plantillas administradas por AWS . Este objeto no debe usarse con plantillas de trabajo personalizadas. Para ver un ejemplo que muestra cómo crear trabajos mediante este parámetro, consulte Creación de un trabajo mediante plantillas administradas.

aws iot create-job \ --targets arn:aws:iot:region:123456789012:thing/thingOne \ --job-template-arn arn:aws:iot:region:123456789012:jobtemplate/template-id