Remarque
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 a atteint la fin de vie le 12 novembre 2024. Si vous utilisez une version antérieure, consultez Update IoT Edge.
L’agent IoT Edge et le hub IoT Edge sont deux modules qui composent le runtime IoT Edge. Pour plus d’informations sur les responsabilités de chaque module d’exécution, consultez understand the Azure IoT Edge runtime and its architecture.
Cet article fournit les propriétés souhaitées et signalées des jumeaux de module du runtime. Pour plus d’informations sur le déploiement de modules sur des appareils IoT Edge, consultez learn comment déployer des modules et établir des itinéraires dans IoT Edge.
Un jumeau de module inclut les éléments suivants :
Propriétés souhaitées. Le serveur principal de solution définit les propriétés souhaitées et le module les lit. Le module reçoit également des notifications de modifications dans les propriétés souhaitées. Utilisez les propriétés souhaitées ainsi que les propriétés signalées pour synchroniser la configuration ou les conditions du module.
Propriétés signalées. Le module définit les propriétés signalées, et le back-end de la solution lit et les interroge. Utilisez les propriétés signalées ainsi que les propriétés souhaitées pour synchroniser la configuration ou les conditions du module.
Propriétés souhaitées pour EdgeAgent
Le jumeau de module de l’agent IoT Edge est appelé $edgeAgent. Il coordonne les communications entre l’agent IoT Edge s’exécutant sur un appareil et IoT Hub. Définissez les propriétés souhaitées lorsque vous appliquez un manifeste de déploiement sur un appareil spécifique dans le cadre d’un déploiement à grande échelle ou d’un seul appareil.
| Propriété | Descriptif | Obligatoire |
|---|---|---|
imagePullPolicy |
Spécifie quand extraire l’image : OnCreate ou Never. N’utilisez jamais si l’image est déjà sur l’appareil. | Oui |
restartPolicy |
Quand redémarrer le module. Les valeurs possibles sont : Jamais : ne redémarrez pas le module s’il n’est pas en cours d’exécution, Toujours : redémarrez le module s’il n’est pas en cours d’exécution, On-Unhealthy : redémarrez le module si non sain, On-Failed : redémarrez si Échec. Note: Seuls Jamais et Always sont actuellement implémentés. On-Unhealthy et On-Failed sont acceptés par le schéma, mais ne lancent pas de redémarrage. Pour plus d’informations, consultez IoT Edge limites et restrictions. | Oui |
runtime.type |
Cela doit être docker. | Oui |
runtime.settings.minDockerVersion |
Spécifie la version minimale de Docker requise par ce manifeste de déploiement. | Oui |
runtime.settings.loggingOptions |
Spécifie un JSON stringifié avec les options de journalisation du conteneur de l’agent IoT Edge. En savoir plus sur les options de journalisation Docker. | Non |
runtime.settings.registryCredentials.{registryId}.username |
Spécifie le nom d’utilisateur du registre de conteneurs. Pour Azure Container Registry, le nom d’utilisateur est généralement le nom du Registre. Les informations d’identification du Registre sont requises pour les images de module privé. | Non |
runtime.settings.registryCredentials.{registryId}.password |
Mot de passe du registre de conteneurs. | Non |
runtime.settings.registryCredentials.{registryId}.address |
Adresse du registre de conteneurs. Pour Azure Container Registry, l’adresse est généralement {registry name}.azurecr.io. |
Non |
schemaVersion |
Spécifie 1.0 ou 1.1. La version 1.1, introduite avec IoT Edge version 1.0.10, est recommandée. | Oui |
status |
État souhaité du module : Running ou Stopped. | Obligatoire |
systemModules.edgeAgent.type |
Cela doit être docker. | Oui |
systemModules.edgeAgent.startupOrder |
Spécifie un entier pour la position du module dans l’ordre de démarrage. 0 est premier, et l’entier maximal (4294967295) est le dernier. Si vous ne fournissez pas de valeur, la valeur par défaut est l’entier maximal. | Non |
systemModules.edgeAgent.settings.image |
Spécifie l’URI de l’image de l’agent IoT Edge. L'agent IoT Edge ne peut pas se mettre à jour. | Oui |
systemModules.edgeAgent.settings.createOptions |
Spécifie un JSON stringifié avec des options pour créer le conteneur de l’agent IoT Edge. En savoir plus sur les options de création docker. | Non |
systemModules.edgeAgent.configuration.id |
ID du déploiement ayant déployé ce module. | IoT Hub définit cette propriété lorsque vous appliquez le manifeste à l’aide d’un déploiement. Ne fait pas partie d’un manifeste de déploiement. |
systemModules.edgeHub.type |
Cela doit être docker. | Oui |
systemModules.edgeHub.status |
Doit être en cours d’exécution. | Oui |
systemModules.edgeHub.restartPolicy |
Toujours doit être. | Oui |
systemModules.edgeHub.startupOrder |
Valeur entière pour l’emplacement d’un module dans l’ordre de démarrage. Un 0 est la première valeur et l’entier maximum (4294967295) est la dernière. Si vous ne fournissez pas de valeur, la valeur par défaut est l’entier maximal. | Non |
systemModules.edgeHub.settings.image |
URI de l’image du hub IoT Edge. | Oui |
systemModules.edgeHub.settings.createOptions |
Un JSON sous forme de chaîne contenant les options pour la création du conteneur du hub IoT Edge. Options de création Docker | Non |
systemModules.edgeHub.configuration.id |
ID du déploiement ayant déployé ce module. | IoT Hub définit cette propriété lorsque vous appliquez le manifeste à l’aide d’un déploiement. Ne fait pas partie d’un manifeste de déploiement. |
modules.{moduleId}.version |
Chaîne définie par l’utilisateur représentant la version de ce module. | Oui |
modules.{moduleId}.type |
Cela doit être docker. | Oui |
modules.{moduleId}.status |
Exécution | Arrêt | Oui |
modules.{moduleId}.restartPolicy |
Jamais | Toujours | Oui |
modules.{moduleId}.startupOrder |
Valeur entière pour l’emplacement d’un module dans l’ordre de démarrage. Un 0 est la première valeur et l’entier maximum (4294967295) est la dernière. Si vous ne fournissez pas de valeur, la valeur par défaut est l’entier maximal. | Non |
modules.{moduleId}.imagePullPolicy |
on-create | Jamais | Non |
modules.{moduleId}.env |
Liste de variables d’environnement à passer au module. Prend le format "<name>": {"value": "<value>"}. |
Non |
modules.{moduleId}.settings.image |
URI de l’image du module. | Oui |
modules.{moduleId}.settings.createOptions |
Champ de chaîne JSON contenant les options de création du conteneur de module. Options de création Docker | Non |
modules.{moduleId}.configuration.id |
ID du déploiement ayant déployé ce module. | IoT Hub définit cette propriété lorsque vous appliquez le manifeste à l’aide d’un déploiement. Ne fait pas partie d’un manifeste de déploiement. |
version |
L’itération actuelle qui comporte la version, le commit et la build. | Non |
Propriétés signalées pour EdgeAgent
Les propriétés signalées de l'agent IoT Edge incluent trois informations principales :
- État de l’application des propriétés souhaitées,
- État des modules en cours d’exécution sur l’appareil comme indiqué par l’agent IoT Edge et
- Copie des propriétés souhaitées actuellement actives sur l'appareil.
La copie des propriétés souhaitées actuelles vous permet de déterminer si l’appareil a appliqué le dernier déploiement ou exécute toujours un manifeste de déploiement précédent.
Remarque
Vous pouvez interroger les propriétés signalées par l'agent IoT Edge à l'aide du langage de requête IoT Hub pour examiner l'état du déploiement à grande échelle. Pour plus d’informations sur l’utilisation des propriétés de l’agent IoT Edge pour connaître l'état, consultez Comprendre les déploiements IoT Edge pour des appareils uniques ou à grande échelle.
Le tableau suivant n’inclut pas les informations copiées à partir des propriétés souhaitées.
| Propriété | Descriptif |
|---|---|
lastDesiredStatus.code |
Code d’état pour les dernières propriétés souhaitées vues par l’agent IoT Edge. Valeurs autorisées : 200 Réussite, 400 Configuration non valide, 412 Version de schéma non valide, 417 Les propriétés souhaitées sont vides, 500 Échec. |
lastDesiredStatus.description |
Texte de description de l’état. |
lastDesiredVersion |
Cet entier fait référence à la dernière version des propriétés souhaitées traitées par l’agent IoT Edge. |
runtime.platform.OS |
Signale le système d’exploitation en cours d’exécution sur l’appareil. |
runtime.platform.architecture |
Signale l’architecture du processeur sur l’appareil. |
schemaVersion |
Version de schéma des propriétés signalées. |
systemModules.edgeAgent.runtimeStatus |
État signalé de l'agent IoT Edge : { en cours d'exécution | en mauvaise santé }. |
systemModules.edgeAgent.statusDescription |
Description textuelle de l’état signalé de l’agent IoT Edge. |
systemModules.edgeAgent.exitCode |
Code de sortie signalé par le conteneur de l’agent IoT Edge si le conteneur s’arrête. |
systemModules.edgeAgent.lastStartTimeUtc |
Heure à laquelle l'agent IoT Edge a été démarré pour la dernière fois. |
systemModules.edgeAgent.lastExitTimeUtc |
Heure de la dernière sortie de l’agent IoT Edge. |
systemModules.edgeHub.runtimeStatus |
État du hub IoT Edge : { en cours d'exécution | arrêté | en échec | en retrait | en mauvaise santé }. |
systemModules.edgeHub.statusDescription |
Description textuelle de l’état de IoT Edge hub, s’il n’est pas sain. |
systemModules.edgeHub.exitCode |
Code de sortie signalé par le conteneur hub IoT Edge, si le conteneur sort. |
systemModules.edgeHub.lastStartTimeUtc |
Heure à laquelle IoT Edge hub a été démarré pour la dernière fois. |
systemModules.edgeHub.lastExitTimeUtc |
Heure à laquelle IoT Edge hub a été quitté pour la dernière fois. |
systemModules.edgeHub.lastRestartTimeUtc |
Heure à laquelle IoT Edge hub a été redémarré pour la dernière fois. |
systemModules.edgeHub.restartCount |
Nombre de redémarrages de ce module dans le cadre de la stratégie de redémarrage. |
modules.{moduleId}.runtimeStatus |
État du module : { running | stopped | failed | backoff | unhealthy }. |
modules.{moduleId}.statusDescription |
Texte de description de l’état du module, si celui-ci est non sain. |
modules.{moduleId}.exitCode |
Code de sortie signalé par le conteneur du module, si le containeur s’arrête. |
modules.{moduleId}.lastStartTimeUtc |
Heure du dernier démarrage du module. |
modules.{moduleId}.lastExitTimeUtc |
Heure du dernier arrêt du module. |
modules.{moduleId}.lastRestartTimeUtc |
Heure du dernier redémarrage du module. |
modules.{moduleId}.restartCount |
Nombre de redémarrages de ce module dans le cadre de la stratégie de redémarrage. |
version |
Version de l’image. Par exemple : "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }. |
Propriétés souhaitées pour EdgeHub
Le jumeau de module d’un hub IoT Edge s'appelle $edgeHub. Il coordonne les communications entre le hub IoT Edge s’exécutant sur un appareil et IoT Hub. Définissez les propriétés souhaitées lorsque vous appliquez un manifeste de déploiement sur un appareil spécifique dans le cadre d’un déploiement à grande échelle ou d’un seul appareil.
| Propriété | Descriptif | Requise dans le manifeste de déploiement |
|---|---|---|
schemaVersion |
1.0 ou 1.1. La version 1.1 a été introduite avec IoT Edge version 1.0.10 et est recommandée. | Oui |
routes.{routeName} |
Chaîne représentant un itinéraire hub IoT Edge. Pour plus d’informations, consultez Déclarer des itinéraires. | L’élément routes peut être présent mais vide. |
storeAndForwardConfiguration.timeToLiveSecs |
La durée en secondes pendant laquelle le hub IoT Edge conserve les messages si la connexion aux points de terminaison de routage est perdue, qu'il s'agisse de l'IoT Hub ou d'un module local. Cette durée persiste sur les pannes ou redémarrages. Pour plus d’informations, voir Fonctionnalités hors connexion. | Oui |
Propriétés signalées pour EdgeHub
| Propriété | Descriptif |
|---|---|
lastDesiredVersion |
Cet entier fait référence à la dernière version des propriétés souhaitées traitées par le hub IoT Edge. |
lastDesiredStatus.code |
Code d’état faisant référence aux dernières propriétés souhaitées vues par le hub IoT Edge. Valeurs autorisées : 200 Réussite, 400 Configuration non valide, 500 Échec. |
lastDesiredStatus.description |
Texte de description de l’état. |
clients |
Tous les clients connectés à edgeHub avec l’état et l’heure de leur dernière connexion. Exemple : "clients": { "device2/SimulatedTemperatureSensor": { "status": "Connected", "lastConnectedTimeUtc": "2022-11-17T21:49:16.4781564Z" } }. |
clients.{device or moduleId}.status |
État de connectivité de cet appareil ou module. Valeurs possibles : connectées ou déconnectées. Seules les identités de module peuvent être à l’état déconnecté. Les appareils en aval qui se connectent à IoT Edge hub n’apparaissent que lorsqu’ils sont connectés. |
clients.{device or moduleId}.lastConnectTime |
Dernière connexion de l’appareil ou du module. |
clients.{device or moduleId}.lastDisconnectTime |
Dernière déconnexion de l’appareil ou du module. |
schemaVersion |
Version de schéma des propriétés signalées. |
version |
Version de l’image. Par exemple : "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }. |
Étapes suivantes
Pour plus d’informations sur l’utilisation de ces propriétés pour générer des manifestes de déploiement, consultez Understand comment les modules IoT Edge peuvent être utilisés, configurés et réutilisés.