Compartir a través de


Propiedades del agente de IoT Edge y del gemelo del módulo concentrador de IoT Edge

Se aplica a:IoT Edge 1.5 checkmark IoT Edge 1.5

Importante

IoT Edge 1.5 LTS es la versión compatible. IoT Edge 1.4 LTS alcanzó el final del ciclo de vida el 12 de noviembre de 2024. Si usa una versión anterior, consulte Update IoT Edge.

El agente de IoT Edge y el centro de IoT Edge son dos módulos que componen el entorno de ejecución de IoT Edge. Para obtener más información sobre las responsabilidades de cada módulo de tiempo de ejecución, consulte entender el entorno de tiempo de ejecución de Azure IoT Edge y su arquitectura.

En este artículo se proporcionan las propiedades deseadas y notificadas de los módulos gemelos de tiempo de ejecución. Para obtener más información sobre cómo implementar módulos en dispositivos IoT Edge, consulte learn cómo implementar módulos y establecer rutas en IoT Edge.

Un módulo gemelo incluye lo siguiente:

  • Propiedades JSON deseadas. El back-end de la solución establece las propiedades deseadas y el módulo los lee. El módulo también recibe notificaciones de cambios en las propiedades deseadas. Use las propiedades deseadas junto con las propiedades notificadas para sincronizar la configuración o las condiciones del módulo.

  • Propiedades notificadas. El módulo establece las propiedades notificadas y el back-end de la solución lee y los consulta. Use las propiedades notificadas junto con las propiedades deseadas para sincronizar la configuración o las condiciones del módulo.

Propiedades deseadas de EdgeAgent

El módulo gemelo del agente de IoT Edge se denomina $edgeAgent. Coordina las comunicaciones entre el agente de IoT Edge que se ejecuta en un dispositivo y IoT Hub. Establezca las propiedades deseadas al aplicar un manifiesto de implementación en un dispositivo específico como parte de una implementación de un solo dispositivo o a escala.

Propiedad Descripción Obligatorio
imagePullPolicy Especifica cuándo extraer la imagen: OnCreate o Never. Use Nunca si la imagen ya está en el dispositivo.
restartPolicy Cuándo reiniciar el módulo. Los valores posibles son: Nunca: no reinicie el módulo si no se está ejecutando, Siempre: reinicie siempre el módulo si no se está ejecutando, En mal estado: reinicie el módulo si es incorrecto, On-Failed: restart if Failed. Nota: Solo nunca y siempre se implementan actualmente. El esquema acepta on-Unhealthy y On-Failed, pero no inicia un reinicio. Para obtener más información, consulte IoT Edge límites y restricciones.
runtime.type Debe ser docker.
runtime.settings.minDockerVersion Especifica la versión mínima de Docker requerida por este manifiesto de implementación.
runtime.settings.loggingOptions Especifica un JSON convertido a cadena con las opciones de registro del contenedor del agente de IoT Edge. Obtenga más información sobre las opciones de registro de Docker. No
runtime.settings.registryCredentials.{registryId}.username Especifica el nombre de usuario del registro de contenedor. Para Azure Container Registry, el nombre de usuario suele ser el nombre del Registro. Las credenciales del Registro son necesarias para las imágenes de módulo privado. No
runtime.settings.registryCredentials.{registryId}.password La contraseña del registro de contenedor. No
runtime.settings.registryCredentials.{registryId}.address La dirección del registro de contenedor. Para Azure Container Registry, la dirección suele ser {registry name}.azurecr.io. No
schemaVersion Especifica 1.0 o 1.1. Se recomienda la versión 1.1, introducida con IoT Edge versión 1.0.10.
status Estado deseado del módulo: Running o Stopped. Obligatorio
systemModules.edgeAgent.type Debe ser docker.
systemModules.edgeAgent.startupOrder Especifica un entero para la posición del módulo en el orden de inicio. 0 es primero y el entero máximo (4294967295) es el último. Si no proporciona un valor, el valor predeterminado es entero máximo. No
systemModules.edgeAgent.settings.image Especifica el URI de la imagen del agente de IoT Edge. El agente de IoT Edge no se puede actualizar a sí mismo.
systemModules.edgeAgent.settings.createOptions Especifica un JSON con cadenas con opciones para crear el contenedor del agente de IoT Edge. Obtenga más información sobre las opciones de creación de Docker. No
systemModules.edgeAgent.configuration.id El identificador de la implementación que implementó este módulo. IoT Hub establece esta propiedad al aplicar el manifiesto mediante una implementación. No forma parte de un manifiesto de implementación.
systemModules.edgeHub.type Debe ser docker.
systemModules.edgeHub.status Debe estar en ejecución.
systemModules.edgeHub.restartPolicy Debe ser siempre.
systemModules.edgeHub.startupOrder Valor entero para el lugar que ocupa un módulo en el orden de inicio. 0 es el primero y el entero máximo (4294967295) es el último. Si no proporciona un valor, el valor predeterminado es entero máximo. No
systemModules.edgeHub.settings.image URI de la imagen del IoT Edge Hub.
systemModules.edgeHub.settings.createOptions Cadena JSON que contiene las opciones para la creación del contenedor del IoT Edge hub. Opciones de creación de Docker No
systemModules.edgeHub.configuration.id El identificador de la implementación que implementó este módulo. IoT Hub establece esta propiedad al aplicar el manifiesto mediante una implementación. No forma parte de un manifiesto de implementación.
modules.{moduleId}.version Una cadena definida por el usuario que representa la versión de este módulo.
modules.{moduleId}.type Debe ser docker.
modules.{moduleId}.status en ejecución/detenido
modules.{moduleId}.restartPolicy nuncasiempre
modules.{moduleId}.startupOrder Valor entero para la ubicación que ocupa un módulo en el orden de inicio. 0 es el primero y el entero máximo (4294967295) es el último. Si no proporciona un valor, el valor predeterminado es entero máximo. No
modules.{moduleId}.imagePullPolicy on-createnever No
modules.{moduleId}.env Lista de variables de entorno que se van a pasar al módulo. Adopta el formato . No
modules.{moduleId}.settings.image El URI de la imagen del módulo.
modules.{moduleId}.settings.createOptions Cadenas JSON que contienen las opciones de creación del contenedor del módulo. Opciones de creación de Docker No
modules.{moduleId}.configuration.id El identificador de la implementación que implementó este módulo. IoT Hub establece esta propiedad al aplicar el manifiesto mediante una implementación. No forma parte de un manifiesto de implementación.
version Iteración actual que tiene versión, confirmación y compilación. No

Propiedades notificadas de EdgeAgent

Las propiedades notificadas del agente IoT Edge incluyen tres partes principales de información:

  • Estado de la aplicación de las propiedades deseadas procesadas por última vez,
  • Estado de los módulos que se ejecutan actualmente en el dispositivo, tal y como lo indica el agente de IoT Edge, y
  • Copia de las propiedades deseadas que se ejecutan actualmente en el dispositivo.

La copia de las propiedades deseadas actuales le ayuda a determinar si el dispositivo aplicó la implementación más reciente o sigue ejecutando un manifiesto de implementación anterior.

Nota:

Puede consultar las propiedades notificadas del agente IoT Edge mediante el lenguaje de consulta IoT Hub para investigar el estado de implementación a escala. Para obtener información sobre cómo usar las propiedades del agente de IoT Edge para el estado, consulte Comprender las implementaciones de IoT Edge para dispositivos individuales o a escala.

En la tabla siguiente no se incluye la información que se copia de las propiedades deseadas.

Propiedad Descripción
lastDesiredStatus.code Código de estado de las últimas propiedades deseadas que ve el agente de IoT Edge. Valores permitidos: (correcto), (configuración no válida), (versión de esquema no válida), (propiedades deseadas vacías) y (error).
lastDesiredStatus.description Descripción de texto del estado.
lastDesiredVersion Este entero hace referencia a la última versión de las propiedades deseadas procesadas por el agente de IoT Edge.
runtime.platform.OS Informa del sistema operativo que se ejecuta en el dispositivo.
runtime.platform.architecture Informa de la arquitectura de CPU en el dispositivo.
schemaVersion Versión de esquema de las propiedades notificadas.
systemModules.edgeAgent.runtimeStatus Estado notificado del agente de IoT Edge: { running | unhealthy }.
systemModules.edgeAgent.statusDescription Descripción del texto del estado notificado del agente de IoT Edge.
systemModules.edgeAgent.exitCode El código de salida notificado por el contenedor del agente de IoT Edge si se cierra el contenedor.
systemModules.edgeAgent.lastStartTimeUtc La hora en la que el agente de IoT Edge se inició por última vez.
systemModules.edgeAgent.lastExitTimeUtc Hora a la que el agente de IoT Edge salió por última vez.
systemModules.edgeHub.runtimeStatus Estado del centro de IoT Edge: { en funcionamiento | detenido | fallado | retroceso | no saludable }.
systemModules.edgeHub.statusDescription Descripción del estado del centro de IoT Edge, si está en mal estado.
systemModules.edgeHub.exitCode Código de salida notificado por el contenedor del centro de IoT Edge, si se cierra el contenedor.
systemModules.edgeHub.lastStartTimeUtc Hora en la que IoT Edge hub se inició por última vez.
systemModules.edgeHub.lastExitTimeUtc Hora en la que se cerró por última vez IoT Edge centro.
systemModules.edgeHub.lastRestartTimeUtc Hora en la que se reinició por última vez el hub de IoT Edge.
systemModules.edgeHub.restartCount Número de veces que se ha reiniciado este módulo como parte de la directiva de reinicio.
modules.{moduleId}.runtimeStatus Estado del módulo: { runningstoppedfailedbackoffunhealthy }.
modules.{moduleId}.statusDescription Descripción de texto del estado del módulo si el estado es unhealthy.
modules.{moduleId}.exitCode El código de salida que ha notificado el contenedor del módulo si se produce la salida del contenedor.
modules.{moduleId}.lastStartTimeUtc Hora en la que el módulo se inició por última vez.
modules.{moduleId}.lastExitTimeUtc Hora a la que se salió por última vez del módulo.
modules.{moduleId}.lastRestartTimeUtc Hora en la que el módulo se reinició por última vez.
modules.{moduleId}.restartCount Número de veces que se ha reiniciado este módulo como parte de la directiva de reinicio.
version Versión de la imagen. Por ejemplo: .

Propiedades deseadas de EdgeHub

El módulo gemelo de un centro de IoT Edge se denomina $edgeHub. Coordina las comunicaciones entre el IoT Edge Hub que se ejecuta en un dispositivo y el IoT Hub. Establezca las propiedades deseadas al aplicar un manifiesto de implementación en un dispositivo específico como parte de una implementación de un solo dispositivo o a escala.

Propiedad Descripción Requerida en el manifiesto de implementación
schemaVersion 1.0 o 1.1. La versión 1.1 se introdujo con IoT Edge versión 1.0.10 y se recomienda.
routes.{routeName} Cadena que representa una ruta del hub de IoT Edge. Para obtener más información, vea Declaración de rutas. El elemento puede estar presente, pero vacío.
storeAndForwardConfiguration.timeToLiveSecs El tiempo del dispositivo en segundos que el concentrador de IoT Edge mantiene los mensajes almacenados si se desconecta de los puntos de conexión de enrutamiento, ya sea en IoT Hub o en un módulo local. Este tiempo se conserva durante los apagados o reinicios. Para más información, consulte la Funcionalidades sin conexión.

Propiedades notificadas de EdgeHub

Propiedad Descripción
lastDesiredVersion Este entero hace referencia a la última versión de las propiedades deseadas procesadas por el centro de IoT Edge.
lastDesiredStatus.code El código de estado que hace referencia a las últimas propiedades deseadas que ve el centro de IoT Edge. Valores permitidos: Correcto, Configuración no válida, Error.
lastDesiredStatus.description Descripción de texto del estado.
clients Todos los clientes conectados a edgeHub con el estado y la hora de la última conexión. Ejemplo: .
clients.{device or moduleId}.status El estado de conectividad de este dispositivo o módulo. Valores posibles: conectados o desconectados. Solo las identidades de módulo pueden estar en el estado disconnected. Los dispositivos receptores que se conectan al centro de IoT Edge solo aparecen cuando están conectados.
clients.{device or moduleId}.lastConnectTime Última vez que se ha conectado el dispositivo o módulo.
clients.{device or moduleId}.lastDisconnectTime Última vez que se ha desconectado el dispositivo o módulo.
schemaVersion Versión de esquema de las propiedades notificadas.
version Versión de la imagen. Por ejemplo: .

Pasos siguientes

Para obtener información sobre cómo usar estas propiedades para crear manifiestos de implementación, consulte Introducción de cómo se pueden usar, configurar y reutilizar los módulos IoT Edge.