Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : IoT Edge 1.5
Important
IoT Edge 1.5 LTS est la version prise en charge. IoT Edge 1.4 LTS est en fin de vie depuis le 12 novembre 2024. Si vous utilisez une version antérieure, consultez l’article Mettre à jour IoT Edge.
Azure IoT Edge vous permet de déployer et de gérer la logique métier sur les appareils edge à l’aide de modules. Les modules Azure IoT Edge sont la plus petite unité de calcul gérée par IoT Edge. Ils peuvent contenir des services Azure (par exemple Azure Stream Analytics) ou votre propre code spécifique à la solution. Pour comprendre comment les modules sont développés, déployés et gérés, considérez les quatre éléments conceptuels d’un module :
- Une image de module est un package contenant le logiciel qui définit un module.
- Une instance de module est l’unité de calcul spécifique exécutant l’image de module sur un appareil IoT Edge. L’instance de module est démarrée par le runtime IoT Edge.
- Une identité de module est une information (notamment des informations d’identification de sécurité) stockée dans IoT Hub et associée à chaque instance de module.
- Un jumeau de module est un document JSON stocké dans IoT Hub qui contient des informations d’état relatives à une instance de module, notamment des métadonnées, des configurations et des conditions.
Instances et images de modules
Les images de modules IoT Edge contiennent des applications qui tirent parti de la gestion, de la sécurité et des fonctionnalités de communication du runtime IoT Edge. Vous pouvez développer vos propres images de modules ou en exporter une à partir d’un service Azure pris en charge, tel qu’Azure Stream Analytics. Les images existent dans le cloud, et vous pouvez les mettre à jour, les modifier et les déployer dans différentes solutions. Par exemple, un module utilisant le Machine Learning pour prédire la sortie de la ligne de production est une image distincte d’un module utilisant la vision par ordinateur pour contrôler un drone.
Chaque fois que le runtime IoT Edge déploie et démarre une image de module sur un appareil, il crée une instance de ce module. Deux appareils dans différentes parties du monde peuvent utiliser la même image de module. Toutefois, chaque appareil a sa propre instance de module lorsque le module est démarré sur l’appareil.
Dans l’implémentation, les images de modules existent en tant qu’images de conteneurs dans un référentiel tandis que les instances de modules sont des conteneurs sur des appareils.
Identités de modules
Lorsque le runtime IoT Edge crée une instance de module, il attribue une identité de module correspondante. IoT Hub stocke l’identité du module, qui sert d’adressage et d’étendue de sécurité pour toutes les communications locales et cloud pour l’instance de module.
L’identité de l’instance de module dépend de l’identité de l’appareil et du nom que vous attribuez au module dans votre solution. Par exemple, si vous nommez un module insight
et que vous le déployez sur un appareil appelé Hannover01
, le runtime IoT Edge crée une identité de module correspondante appelée /devices/Hannover01/modules/insight
.
Dans les scénarios où vous devez déployer une image de module plusieurs fois sur le même appareil, vous pouvez la déployer avec différents noms.
Jumeaux de module
Chaque instance de module a un jumeau de module correspondant que vous utilisez pour le configurer. L’identité du module lie l’instance et son jumeau.
Un jumeau de module est un document JSON qui stocke des propriétés de configuration et des informations sur un module. Ce concept s’apparente au concept de jumeau d’appareil dans IoT Hub. La structure d’un jumeau de module est identique à celle d’un jumeau d’appareil. Les API permettant d’interagir avec les deux types de jumeaux sont les mêmes. La seule différence entre les deux est l’identité utilisée pour instancier le SDK client.
// 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();
Fonctionnalités hors ligne
Les modules Azure IoT Edge fonctionnent indéfiniment hors connexion après la synchronisation avec IoT Hub une seule fois. Les appareils IoT Edge peuvent également étendre cette fonctionnalité hors connexion avec d’autres appareils IoT. Pour plus d’informations, consultez Introduction aux fonctionnalités hors connexion étendues pour les appareils, modules et appareils en aval IoT Edge.