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.
Azure IoT Edge permite implementar y administrar la lógica de negocios en dispositivos perimetrales mediante modules. Azure IoT Edge módulos son la unidad de cálculo más pequeña administrada por IoT Edge. Pueden contener servicios 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 module es la unidad específica de cálculo que ejecuta la imagen del módulo en un dispositivo IoT Edge. El entorno de ejecución de IoT Edge inicia la instancia del módulo.
- Una identidad module es un fragmento de información, incluidas las credenciales de seguridad, que IoT Hub almacena y asocia con cada instancia del módulo.
- Un módulo gemelo es un documento JSON que IoT Hub almacena y contiene información de estado para una instancia de módulo, incluidos metadatos, configuraciones y 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 runtime 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 se administran en la nube. Puede actualizarlos, cambiarlos e implementarlos en diferentes soluciones. Por ejemplo, un módulo que usa el aprendizaje automático para predecir la salida de la línea de producción es una imagen independiente de un módulo que usa Computer Vision para controlar un dron.
Cada vez que el entorno de ejecución de IoT Edge 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 pueden usar la misma imagen de módulo. Sin embargo, cada dispositivo tiene su propia instancia de módulo cuando se inicia el módulo 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ódulo 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 e 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 paraleliza el concepto device twin 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
Azure IoT Edge módulos funcionan sin conexión indefinidamente después de sincronizar con IoT Hub una vez. IoT Edge dispositivos también pueden ampliar esta funcionalidad sin conexión a otros dispositivos IoT. Para obtener más información, consulte Comprender las funcionalidades sin conexión ampliadas para dispositivos IoT Edge, módulos y dispositivos secundarios.