Partager via


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"
      }
    }
  ]
}