Conceptos clave de trabajos - 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.

Conceptos clave de trabajos

Los siguientes conceptos proporcionan detalles sobre los AWS IoT trabajos y sobre cómo crear e implementar trabajos para ejecutar operaciones remotas en sus dispositivos.

Conceptos básicos

Los siguientes son conceptos básicos que debe conocer al usar AWS IoT Jobs.

Trabajo

Un trabajo es una operación remota que se envía a uno o varios dispositivos conectados al AWS IoT y que se ejecuta en ellos. Por ejemplo, puede definir un trabajo que indique a un conjunto de dispositivos descargar e instalar una aplicación o ejecutar actualizaciones de firmware, reiniciar, rotar certificados o realizar operaciones remotas de solución de problemas.

Documento de trabajo

Para crear un trabajo, primero debe crear un documento de trabajo, que es una descripción de las operaciones remotas que deben realizar los dispositivos.

Los documentos de trabajo son documentos JSON con codificación UTF-8 y contienen la información que necesitan los dispositivos para realizar un trabajo. Un documento de trabajo contendrá una o varias URL en las que el dispositivo puede descargar una actualización u otros datos. El documento de trabajo puede almacenarse en un bucket de Amazon S3 o insertarse con el comando que crea el trabajo.

sugerencia

Para ver ejemplos de documentos de trabajo, consulte el ejemplo de jobs-agent.js en el AWS IoT SDK de JavaScript.

Destino

Cuando cree un trabajo, debe especificar una lista de destinos que son los dispositivos que deben realizar las operaciones. Los destinos pueden ser objetos, grupos de objetos o ambos. El servicio AWS IoT Jobs envía un mensaje a cada destino para informarle de que hay un trabajo disponible.

Implementación

Tras crear un trabajo proporcionando el documento de trabajo y especificando la lista de destinos, el documento de trabajo se implementa en los dispositivos de destino remotos para los que desee realizar la actualización. En el caso de los trabajos instantáneos, el trabajo se completará después de implementarlo en los dispositivos de destino. En el caso de los trabajos continuos, un trabajo se implementa en un grupo de dispositivos a medida que se agregan a los grupos.

Ejecución de trabajo

Una ejecución de trabajo es una instancia de un trabajo en un dispositivo de destino. El destino inicia una ejecución de trabajo descargando el documento de trabajo. A continuación, realiza las operaciones especificadas en el documento e informa de su progreso a AWS IoT. Un número de ejecución es un identificador único de una ejecución de trabajo en un destino específico. El servicio AWS IoT Jobs proporciona comandos para realizar un seguimiento del progreso de la ejecución de un trabajo en un objetivo y del progreso de un trabajo en todos los objetivos.

Conceptos de tipos de trabajo

Los siguientes conceptos pueden ayudarle a comprender mejor los distintos tipos de trabajos que puede crear con AWS IoT Jobs.

Trabajo de instantánea

De forma predeterminada, un trabajo se envía a todos los destinos especificados al crearlo. Después de que esos destinos finalicen el trabajo (o informen de que no pueden hacerlo), el trabajo se completa.

Trabajo continuo

Un trabajo continuo se envía a todos los destinos especificados al crearlo. Sigue ejecutándose y se envía a todos los nuevos dispositivos (objetos) que se añaden al grupo de destino. Por ejemplo, puede usarse un trabajo continuo para incorporar o actualizar dispositivos a medida que se añaden a un grupo. Puede hacer que un trabajo sea continuo estableciendo un parámetro opcional al crearlo.

nota

Cuando se dirija a su flota de IoT mediante grupos de objetos dinámicos, recomendamos que utilice trabajos continuos en lugar de trabajos instantáneos. Al utilizar trabajos continuos, los dispositivos que se unen al grupo reciben la ejecución del trabajo incluso después de que este se haya creado.

URL prefirmadas

Para acceder de forma segura y por tiempo limitado a los datos que no están incluidos en el documento de trabajo, puede utilizar las URL prefirmadas de Amazon S3. Coloque los datos en un bucket de Amazon S3 y añadir un enlace de marcador de posición para los datos en el documento de trabajo. Cuando AWS IoT Jobs recibe una solicitud para el documento de trabajo, analiza el documento de trabajo buscando los enlaces de los marcadores de posición y, a continuación, los reemplaza por direcciones URL prefirmadas de Amazon S3.

El enlace de marcador de posición tiene el formato siguiente:

${aws:iot:s3-presigned-url:https://s3.amazonaws.com/bucket/key}

donde bucket es el nombre del bucket y clave es el objeto en el bucket para el que se está realizando la vinculación.

En las regiones de Pekín y Ningxia, las URL prefirmadas solo funcionan si el propietario del recurso tiene una licencia de ICP (proveedor de contenido de Internet). Para obtener más información, consulte Amazon Simple Storage Service en la documentación Introducción a AWS los servicios en China.

Conceptos de configuración de trabajo

Los siguientes conceptos pueden ayudarlo a comprender cómo configurar los trabajos.

Despliegues

Puede especificar la rapidez con la que se notifica a los destinos la ejecución de un trabajo pendiente. Esto le permite crear un despliegue por etapas para administrar mejor las actualizaciones, los reinicios y otras operaciones. Puede crear una configuración de despliegue mediante una tasa de despliegue estática o una tasa de despliegue exponencial. Para especificar el número máximo de destinos de trabajo de los que se informará por minuto, utilice una velocidad de despliegue estática.

Para ver ejemplos de cómo establecer las velocidades de despliegue y obtener más información sobre la configuración de los despliegues de trabajos, consulte Configuraciones de despliegue, programación y cancelación de trabajos.

Programación

La programación de trabajos le permite programar el plazo de despliegue de un documento de trabajo en todos los dispositivos del grupo de destino para trabajos continuos e instantáneos. Además, puede crear un periodo de mantenimiento opcional que contenga fechas y horas específicas en las que un trabajo distribuirá el documento de trabajo a todos los dispositivos del grupo de destino. Un periodo de mantenimiento es una instancia recurrente con una frecuencia de fechas y horas diarias, semanales, mensuales o personalizadas seleccionadas durante la creación inicial del trabajo o de la plantilla de trabajo. Solo los trabajos continuos se pueden programar para que se desplieguen durante un periodo de mantenimiento.

La programación de trabajos es específica para su trabajo. No se pueden programar ejecuciones de trabajos individuales. Para obtener más información, consulte Configuraciones de despliegue, programación y cancelación de trabajos.

Anular

Puede crear un conjunto de condiciones para cancelar despliegues una vez se cumplan los criterios que especifique. Para obtener más información, consulte Configuraciones de despliegue, programación y cancelación de trabajos.

Tiempos de espera

Los tiempos espera de trabajos lo notifican cada vez que la implementación de un trabajo se bloquea en el estado IN_PROGRESS durante un periodo de tiempo más largo de lo previsto. Existen dos tipos de temporizadores: temporizadores en curso y temporizadores de pasos. Una vez el trabajo está IN_PROGRESS, puede monitorizar y realizar un seguimiento del progreso de la implementación del trabajo.

Las configuraciones de implementación y anulación son específicas de su trabajo, mientras que la configuración del tiempo de espera es específica de la implementación de un trabajo. Para obtener más información, consulte Configuraciones de tiempo de espera y reintento de ejecución de trabajos.

Reintentos

Los reintentos de trabajo permiten reintentar la ejecución del trabajo cuando se produce un error en un trabajo, se agota el tiempo de espera o ambos. Puede disponer de hasta 10 reintentos para ejecutar el trabajo. Puede monitorizar y realizar un seguimiento del progreso del reintento y comprobar si la ejecución del trabajo se ha realizado correctamente.

Las configuraciones de implementación y anulación son específicas de su trabajo, mientras que las configuraciones del tiempo de espera y de reintento son específicas de la ejecución de un trabajo. Para obtener más información, consulte Configuraciones de tiempo de espera y reintento de ejecución de trabajos.