Fichier de configuration Device Update
L’agent Azure Device Update pour IoT Hub utilise les informations de configuration d’un fichier du-config.json sur l’appareil. L’agent lit le fichier et transmet les valeurs suivantes au service Device Update :
- AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["manufacturer"]
- AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["model"]
- DeviceInformation.manufacturer
- DeviceInformation.model
- additionalProperties
- connectionData
- connectionType
Pour mettre à jour ou créer le fichier de configuration du-config.json :
- Lorsque vous installez l’agent Debian sur un appareil IoT doté d’un système d’exploitation Linux, modifiez le fichier /etc/adu/du-config.json pour mettre à jour les valeurs.
- Pour un système de génération Yocto, créez un fichier JSON appelé /adu/du-config.json dans la partition ou le disque
adu
.
Champs et valeurs du fichier de configuration
Nom | Description |
---|---|
SchemaVersion | Version du schéma qui correspond à la version actuelle du format du fichier de configuration. |
aduShellTrustedUsers | Liste des utilisateurs qui peuvent lancer adu-shell, un programme de courtage qui effectue diverses actions de mise à jour en tant que 'root' . Les gestionnaires de mise à jour de contenu par défaut de Device Update invoquent adu-shell pour effectuer des tâches qui requièrent les privilèges super utilisateur, telles que apt-get install ou pour exécuter un script privilégié. |
iotHubProtocol | Protocole utilisé pour se connecter à Azure IoT Hub. Les valeurs acceptées sont mqtt ou mqtt/ws . La valeur par défaut est 'mqtt' . |
compatPropertyNames | Propriétés utilisées pour vérifier la compatibilité des appareils afin de cibler le déploiement de la mise à jour. Toutes les valeurs doivent être en minuscules. |
manufacturer | Valeur signalée par l’interface AzureDeviceUpdateCore:4.ClientMetadata:4 pour classer l’appareil afin de cibler le déploiement de la mise à jour. |
modèle | Valeur signalée par l’interface AzureDeviceUpdateCore:4.ClientMetadata:4 pour classer l’appareil afin de cibler le déploiement de la mise à jour. |
additionalProperties | Facultatif : Jusqu’à cinq propriétés supplémentaires signalées en minuscules uniquement, à utiliser pour la vérification de la compatibilité. |
agents | Informations sur chaque agent de mise à jour des appareils, notamment le type de connectionSource et les données. |
name | Nom de l’agent Device Update. |
runas | Identité de l’utilisateur sous laquelle l’agent Device Update doit être exécuté. |
connectionType | Type de connexion à utiliser pour connecter l’appareil à IoT Hub. Les valeurs acceptées sont string ou AIS . Utilisez AIS pour les scénarios de production qui utilisent le service d’identité IoT pour se connecter. Utilisez string pour vous connecter à l’aide d’une chaîne de connexion à des fins de test. |
connectionData | Données à utiliser pour connecter l’appareil à IoT Hub. Si connectionType = "AIS" , définissez la connectionData sur une chaîne vide : "connectionData": "" . Si connectionType = "string" , indiquez la chaîne de connexion de l’appareil ou du module de votre appareil IoT. |
manufacturer | Valeur signalée par l’agent Device Update dans le cadre de l’interface DeviceInformation . |
modèle | Valeur signalée par l’agent Device Update dans le cadre de l’interface DeviceInformation . |
additionalDeviceProperties | Facultatif : Jusqu’à cinq autres propriétés d’appareil. |
extensionsFolder | Facultatif : Définit le chemin d’accès au dossier des extensions de Device Update. Le chemin par défaut est '/var/lib/adu/extensions' . |
downloadsFolder | Facultatif : Définit le chemin d’accès au dossier téléchargements de Device Update. Le chemin par défaut est '/var/lib/adu/downloads' . |
dataFolder | Facultatif : Définit le chemin d’accès au dossier données de Device Update. Le chemin par défaut est '/var/lib/adu' . Si vous mettez à jour cette valeur dans le fichier de configuration, vous devez mettre à jour CheckDataDir() dans le contrôle de gestion de l’intégrité en conséquence. |
aduShellFilePath | Facultatif : Définit le chemin d’accès à l’interpréteur de commandes de Device Update. Le chemin par défaut est '/usr/lib/adu' . |
downloadTimeoutInMinutes | Facultatif : Définit le délai d’attente pour le téléchargement des mises à jour en minutes. La valeur 0 correspond à la valeur par défaut de 8 heures. |
Exemple de fichier « du-config.json »
{
"schemaVersion": "1.1",
"aduShellTrustedUsers": [
"adu",
"do"
],
"iotHubProtocol": "mqtt",
"compatPropertyNames":"manufacturer,model,location,environment",
"manufacturer": "contoso",
"model": "virtual-vacuum-2",
"agents": [
{
"name": "main",
"runas": "adu",
"connectionSource": {
"connectionType": "string",
"connectionData": "HostName=<hub_name>.azure-devices.net;DeviceId=<device_id>;SharedAccessKey=<device_key>"
},
"manufacturer": "contoso",
"model": "virtual-vacuum-2",
"additionalDeviceProperties": {
"location": "usa",
"environment": "development"
}
}
]
}