Compartir a través de


Comprender los módulos de Azure IoT Edge

se aplica a:Marca de verificación de IoT Edge 1.5 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.

Azure IoT Edge le permite implementar y administrar lógica de negocios en dispositivos perimetrales mediante módulos. Los módulos de Azure IoT Edge son la unidad más pequeña de cálculo administrada por IoT Edge y pueden contener servicios de Azure (como Azure Stream Analytics) o su propio código específico de la solución. Para entender cómo se desarrollan, implementan y mantienen los módulos, considere los cuatro elementos conceptuales de un módulo:

  • Una imagen de módulo es un paquete que contiene el software que define un módulo.
  • Una instancia de módulo es la unidad específica del cálculo que ejecuta la imagen de módulo en un dispositivo IoT Edge. La instancia de módulo se inicia mediante la instancia de IoT Edge en tiempo de ejecución.
  • Una identidad de módulo es un fragmento de información (que incluye las credenciales de seguridad) que está almacenada en IoT Hub y asociada a cada instancia de módulo.
  • Un módulo gemelo es un documento JSON que está almacenado en IoT Hub y contiene información de los estados de una instancia de módulo, como los metadatos, las configuraciones y las condiciones.

Instancias e imágenes de módulo

Las imágenes de módulo de IoT Edge contienen aplicaciones que aprovechan las características de administración, seguridad y comunicación del entorno de ejecución de IoT Edge. Puede desarrollar sus propias imágenes de módulo o exportar una desde un servicio de Azure compatible, como Azure Stream Analytics. Las imágenes existen en la nube y puede actualizarlas, cambiarlas e implementarlas en diferentes soluciones. Por ejemplo, un módulo que utiliza el aprendizaje automático para predecir el rendimiento de una línea de producción es una imagen separada de un módulo que usa Computer Vision para controlar un dron.

Cada vez que el entorno de ejecución de IoT Edge se implementa e inicia una imagen de módulo en un dispositivo, crea una nueva instancia de ese módulo. Dos dispositivos de diferentes partes del mundo podrían usar la misma imagen de módulo. Sin embargo, cada dispositivo tendría su propia instancia de módulo cuando el módulo se inicia en el dispositivo.

Diagrama: imágenes de módulo en la nube e instancias de módulo en dispositivos

En la implementación, las imágenes de módulos existen como imágenes de contenedor en un repositorio y las instancias de módulo son contenedores en dispositivos.

Identidades de módulo

Cuando el entorno de ejecución de IoT Edge crea una nueva instancia de módulo, asigna una identidad de módulo correspondiente. IoT Hub almacena la identidad del módulo, que actúa como ámbito de direccionamiento y seguridad para todas las comunicaciones locales y en la nube para la instancia del módulo.

La identidad de la instancia del módulo depende de la identidad del dispositivo y del nombre que asigne al módulo en su solución. Por ejemplo, si asigna un nombre a un módulo insight y lo implementa en un dispositivo denominado Hannover01, el entorno de ejecución de IoT Edge crea una identidad de módulo correspondiente denominada /devices/Hannover01/modules/insight.

En escenarios en los que necesita implementar una imagen de módulo varias veces en el mismo dispositivo, puede implementarla con nombres diferentes.

Diagrama: las identidades de módulo son únicas en cada dispositivos y en todos los dispositivos

Módulos gemelos

Cada instancia de módulo tiene un módulo gemelo correspondiente que se usa para configurarlo. La identidad del módulo vincula la instancia y el gemelo.

Un módulo gemelo es un documento JSON que almacena información del módulo y propiedades de configuración. Este concepto se asemeja al del dispositivo gemelo de IoT Hub. La estructura de un módulo gemelo es la misma que la de un dispositivo gemelo. Las API para interactuar con ambos tipos de gemelos son las mismas. La única diferencia entre ambas es la identidad utilizada para crear una instancia del SDK del cliente.

// Create a ModuleClient object. This ModuleClient will act on behalf of a
// module since it is created with a module's connection string instead
// of a device connection string.
ModuleClient client = new ModuleClient.CreateFromEnvironmentAsync(settings);
await client.OpenAsync();

// Get the module twin
Twin twin = await client.GetTwinAsync();

Funcionalidades sin conexión

Los módulos de Azure IoT Edge funcionan sin conexión indefinidamente después de sincronizar con IoT Hub una vez. Los dispositivos de IoT Edge también pueden extender esta funcionalidad sin conexión a otros dispositivos de IoT. Para obtener más información, consulte Comprender las funcionalidades sin conexión ampliadas para dispositivos IoT Edge, módulos y dispositivos secundarios.

Siguientes pasos