Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:
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. | Sí |
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. | Sí |
runtime.type |
Debe ser docker. | Sí |
runtime.settings.minDockerVersion |
Especifica la versión mínima de Docker requerida por este manifiesto de implementación. | Sí |
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. | Sí |
status |
Estado deseado del módulo: Running o Stopped. | Obligatorio |
systemModules.edgeAgent.type |
Debe ser docker. | Sí |
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. | Sí |
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. | Sí |
systemModules.edgeHub.status |
Debe estar en ejecución. | Sí |
systemModules.edgeHub.restartPolicy |
Debe ser siempre. | Sí |
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. | Sí |
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. | Sí |
modules.{moduleId}.type |
Debe ser docker. | Sí |
modules.{moduleId}.status |
en ejecución/detenido | Sí |
modules.{moduleId}.restartPolicy |
nuncasiempre | Sí |
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. | Sí |
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. | Sí |
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. | Sí |
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.