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 finaliza su ciclo de vida el 12 de noviembre de 2024. Si está usando una versión anterior, consulte Actualización de IoT Edge.
El agente de IoT Edge y el centro de IoT Edge son dos módulos que constituyen el entorno de tiempo de ejecución de IoT Edge. Para más información sobre las responsabilidades de cada módulo en tiempo de ejecución, consulte Descripción del entorno 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 más información sobre cómo implementar módulos en dispositivos IoT Edge, consulte Cómo implementar módulos y establecer rutas en IoT Edge.
Un módulo gemelo incluye lo siguiente:
Propiedades 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. Las propiedades deseadas se usan 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. Las propiedades notificadas se usan junto con las propiedades deseadas para sincronizar la configuración o las condiciones del módulo.
Propiedades deseadas de EdgeAgent
El módulo gemelo para el 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. Las propiedades deseadas se establecen al aplicar un manifiesto de implementación en un dispositivo específico como parte de la 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 | Cuando se debe reiniciar el módulo. Los valores posibles son: Never: no reiniciar el módulo si no se está ejecutando, Always: reiniciar siempre el módulo si no se está ejecutando, On-Unhealthy: reiniciar el módulo si está en mal estado. "Unhealthy" es lo que Docker informa en función de una comprobación de estado, por ejemplo "Unhealthy: el contenedor no funciona correctamente", On-Failed: reiniciar si falla. | 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 en forma de cadena con las opciones de seguimiento para el 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 {nombre del registro}.azurecr.io. | No |
schemaVersion | Especifica 1.0 o 1.1. Se recomienda la versión 1.1, introducida con la versión 1.0.10 de IoT Edge. | Sí |
estado | 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 se proporciona ningún 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. | Esta propiedad la establece IoT Hub cuando se aplica 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 ser running. | Sí |
systemModules.edgeHub.restartPolicy | Debe ser always. | 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 se proporciona un valor, el valor predeterminado es el entero máximo. | No |
systemModules.edgeHub.settings.image | El URI de la imagen del centro de IoT Edge. | Sí |
systemModules.edgeHub.settings.createOptions | Cadenas JSON que contienen las opciones de creación del contenedor del centro de IoT Edge. Opciones de creación de Docker | No |
systemModules.edgeHub.configuration.id | El identificador de la implementación que implementó este módulo. | Esta propiedad la establece IoT Hub cuando se aplica el manifiesto mediante una implementación. No forma parte de un manifiesto de implementación. |
Módulos. {moduleId}.version | Una cadena definida por el usuario que representa la versión de este módulo. | Sí |
Módulos. {moduleId}.type | Debe ser docker. | Sí |
Módulos. {moduleId}.status | {running | detenido} | Sí |
Módulos. {moduleId}.restartPolicy | {nunca | always} | Sí |
Módulos. {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 se proporciona un valor, el valor predeterminado es el entero máximo. | No |
Módulos. {moduleId}.imagePullPolicy | {on-create | never} | No |
Módulos. {moduleId}.env | Lista de variables de entorno que se van a pasar al módulo. Adopta el formato "<name>": {"value": "<value>"} . |
No |
Módulos. {moduleId}.settings.image | El URI de la imagen del módulo. | Sí |
Módulos. {moduleId}.settings.createOptions | Cadenas JSON que contienen las opciones de creación del contenedor del módulo. Opciones de creación de Docker | No |
Módulos. {moduleId}.configuration.id | El identificador de la implementación que implementó este módulo. | Esta propiedad la establece IoT Hub cuando se aplica el manifiesto mediante una implementación. No forma parte de un manifiesto de implementación. |
Versión | Iteración actual que tiene versión, confirmación y compilación. | No |
Propiedades notificadas de EdgeAgent
Las propiedades notificadas del agente de IoT Edge incluyen tres elementos 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 como lo ha notificado 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 ayuda a determinar si el dispositivo ha aplicado la implementación más reciente o sigue ejecutando un manifiesto de implementación anterior.
Nota:
Puede consultar las propiedades notificadas del agente de IoT Edge con el lenguaje de consulta de IoT Hub para investigar el estado de implementación a escala. Aprenda a usar las propiedades del agente de IoT Edge para el estado en Descripción de 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: 200 (correcto), 400 (configuración no válida), 412 (versión de esquema no válida), 417 (propiedades deseadas vacías) y 500 (error). |
lastDesiredStatus.description | Descripción de texto del estado. |
lastDesiredVersion | Este entero hace referencia a la última versión de las propiedades deseadas procesadas mediante 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 | El estado notificado del agente de IoT Edge: {running | unhealthy}. |
systemModules.edgeAgent.statusDescription | Descripción de texto del estado notificado del agente de IoT Edge. |
systemModules.edgeAgent.exitCode | El código de salida que ha notificado el contenedor del agente de IoT Edge si se produce la salida del contenedor. |
systemModules.edgeAgent.lastStartTimeUtc | Hora a la que se inició por última vez el agente de IoT Edge. |
systemModules.edgeAgent.lastExitTimeUtc | Hora a la que se salió por última vez del agente de IoT Edge. |
systemModules.edgeHub.runtimeStatus | Estado del centro de IoT Edge: { running | stopped | failed | backoff | unhealthy }. |
systemModules.edgeHub.statusDescription | Descripción de texto del estado del centro de IoT Edge si es el estado es unhealthy. |
systemModules.edgeHub.exitCode | Código de salida que ha notificado el contenedor del centro de IoT Edge si se produce la salida del contenedor. |
systemModules.edgeHub.lastStartTimeUtc | Hora en la que el centro de IoT Edge se inició por última vez. |
systemModules.edgeHub.lastExitTimeUtc | Hora a la que se salió por última vez del centro de IoT Edge. |
systemModules.edgeHub.lastRestartTimeUtc | Hora en la que el centro de IoT Edge se reinició por última vez. |
systemModules.edgeHub.restartCount | Número de veces que se ha reiniciado este módulo como parte de la directiva de reinicio. |
Módulos. {moduleId}.runtimeStatus | Estado del módulo: { running | stopped | failed | backoff | unhealthy }. |
Módulos. {moduleId}.statusDescription | Descripción de texto del estado del módulo si el estado es unhealthy. |
Módulos. {moduleId}.exitCode | El código de salida que ha notificado el contenedor del módulo si se produce la salida del contenedor. |
Módulos. {moduleId}.lastStartTimeUtc | Hora en la que el módulo se inició por última vez. |
Módulos. {moduleId}.lastExitTimeUtc | Hora a la que se salió por última vez del módulo. |
Módulos. {moduleId}.lastRestartTimeUtc | Hora en la que el módulo se reinició por última vez. |
Módulos. {moduleId}.restartCount | Número de veces que se ha reiniciado este módulo como parte de la directiva de reinicio. |
Versión | Versión de la imagen. Ejemplo: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }. |
Propiedades deseadas de EdgeHub
El módulo gemelo del centro de IoT Edge se denomina $edgeHub
y coordina las comunicaciones entre el centro de IoT Edge que se ejecuta en un dispositivo y en IoT Hub. Las propiedades deseadas se establecen al aplicar un manifiesto de implementación en un dispositivo específico como parte de la 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 incluyó por primera vez con IoT Edge versión 1.0.10 y se recomienda. | Sí |
Rutas. {routeName} | Una cadena que representa una ruta del centro de IoT Edge. Para obtener más información, vea Declaración de rutas. | El elemento routes puede estar presente, pero vacío. |
storeAndForwardConfiguration.timeToLiveSecs | El tiempo del dispositivo en segundos que el centro de IoT Edge conserva los mensajes en caso de que se desconecte de algún punto de conexión de enrutamiento, ya sea IoT Hub o 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 mediante el centro de IoT Edge. |
lastDesiredStatus.code | El código de estado hace referencia a las últimas propiedades que ha procesado el centro de IoT Edge. Valores permitidos: 200 (correcto), 400 (configuración no válida) y 500 (error). |
lastDesiredStatus.description | Descripción de texto del estado. |
enriquecidos | Todos los clientes conectados a edgeHub con el estado y la hora de la última conexión. Ejemplo: "clients": { "device2/SimulatedTemperatureSensor": { "status": "Connected", "lastConnectedTimeUtc": "2022-11-17T21:49:16.4781564Z" } }. |
Clientes. {device o moduleId}.status | El estado de conectividad de este dispositivo o módulo. Valores posibles {connected | disconnected}. Solo las identidades de módulo pueden estar en el estado disconnected. Los dispositivos de nivel inferior que se conectan al centro de IoT Edge solo aparecen cuando se conectan. |
Clientes. {device o moduleId}.lastConnectTime | Última vez que se ha conectado el dispositivo o módulo. |
Clientes. {device o moduleId}.lastDisconnectTime | Última vez que se ha desconectado el dispositivo o módulo. |
schemaVersion | Versión de esquema de las propiedades notificadas. |
Versión | Versión de la imagen. Ejemplo: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }. |
Pasos siguientes
Para aprender a usar estas propiedades para crear manifiestos de implementación, consulte Descripción de cómo se pueden utilizar, configurar y reutilizar los módulos de IoT Edge .