Fichier de configuration de mise à jour de l’appareil

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
  • données de connexion
  • type de connexion

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 dans la partition ou le disque adu nommé /adu/du-config.json.

Champs et valeurs du fichier de configuration

Nom Description
Version du schéma Version du schéma qui correspond à la version actuelle du format du fichier de configuration.
aduShellTrustedUsers Liste des utilisateurs pouvant lancer adu-shell, un programme intermédiaire qui effectue diverses actions de mise à jour sous l’identité de '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.
fabricant 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 Device Update, y compris le type connectionSource et les données.
nom Nom de l’agent Device Update.
runas Identité de l’utilisateur sous laquelle l’agent Device Update doit être exécuté.
type de connexion Type de connexion utilisé pour connecter l’appareil à IoT Hub. Les valeurs acceptées sont AIS, stringou x509. Utilisez-le AIS lors de l’utilisation du service d’identité IoT. Utilisez string pour l’authentification basée sur chaîne de connexion. Utiliser x509 pour l’authentification basée sur des certificats.
données de connexion Données utilisées pour connecter l’appareil à IoT Hub. Le format dépend des connectionTypeéléments suivants :

• Si AIS, définissez sur une chaîne vide : "connectionData": "".
• Si string, fournissez la chaîne de connexion de l’appareil ou du module de votre appareil IoT.
• Si x509, fournissez un chaîne de connexion incluant x509=true (par exemple : "HostName=<hub>.azure-devices.net;DeviceId=<device>;x509=true").
connectionX509CertFilePath Chemin d’accès au fichier du certificat client X.509 utilisé pour l’authentification. Ce champ est obligatoire lorsque connectionType c’est x509.
connectionX509PrivateKeyFilePath Chemin d’accès au fichier de la clé privée associée au certificat X.509. Ce champ est obligatoire lorsque connectionType c’est x509.
connectionX509CaCertFilePath Chemin d’accès au certificat d’autorité de certification utilisé pour valider le certificat du serveur IoT Hub. Ce champ est obligatoire lorsque connectionType c’est x509.
fabricant 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.
propriétés supplémentaires de l’appareil 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 modifier CheckDataDir() dans la vérification de la gestion de l’état de santé 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"
      }
    }
  ]
}