File di configurazione dell'aggiornamento dei dispositivi

L'agente di Azure Device Update per hub IoT usa le informazioni di configurazione contenute in un file du-config.json sul dispositivo. L'agente legge il file e segnala i valori seguenti al servizio Aggiornamento dispositivi:

  • AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["manufacturer"]
  • AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["model"]
  • DeviceInformation.manufacturer
  • DeviceInformation.model
  • additionalProperties
  • connectionData
  • tipo di connessione

Per aggiornare o creare il file di configurazione du-config.json :

  • Quando si installa l'agente Debian in un dispositivo IoT con un sistema operativo Linux, modificare il file /etc/adu/du-config.json per aggiornare i valori.
  • Per un sistema di compilazione Yocto, creare un file JSON nella partizione o nel adu disco denominato /adu/du-config.json.

Campi e valori dei file di configurazione

Nome Descrizione
SchemaVersion Versione dello schema che corrisponde alla versione corrente del formato del file di configurazione.
aduShellTrustedUsers Elenco di utenti che possono avviare adu-shell, un programma broker che esegue varie azioni di aggiornamento come 'root'. I gestori predefiniti di aggiornamento del contenuto di Device Update richiamano adu-shell per eseguire attività che richiedono privilegi di superutente, ad esempio apt-get install o eseguire uno script con privilegi elevati.
iotHubProtocol Protocollo usato per connettersi con hub IoT di Azure. I valori accettati sono mqtt o mqtt/ws. Il valore predefinito è 'mqtt'.
compatPropertyNames Proprietà usate per verificare la compatibilità dei dispositivi per la distribuzione degli aggiornamenti. Tutti i valori devono essere minuscoli.
produttore Valore segnalato dall'interfaccia AzureDeviceUpdateCore:4.ClientMetadata:4 per classificare il dispositivo per la distribuzione degli aggiornamenti.
modello Valore segnalato dall'interfaccia AzureDeviceUpdateCore:4.ClientMetadata:4 per classificare il dispositivo per la distribuzione degli aggiornamenti.
additionalProperties Facoltativo: fino ad altre cinque proprietà riportate dal dispositivo e solo in minuscolo da usare per la verifica della compatibilità.
agenti Informazioni su ogni agente di Device Update, inclusi connectionSource tipo e dati.
nome Nome dell'agente di aggiornamento del dispositivo.
RunAs Identità utente con cui eseguire l'agente Device Update.
tipo di connessione Tipo di connessione usato per connettere il dispositivo a hub IoT. I valori accettati sono AIS, stringo x509. Usare AIS quando si usa il servizio di gestione delle identità IoT. Usare string per l'autenticazione basata su stringa di connessione. Usare x509 per l'autenticazione basata su certificati.
connectionData Dati usati per connettere il dispositivo a hub IoT. Il formato dipende da connectionType:

• Se AIS, impostare su una stringa vuota: "connectionData": "".
• Se string, fornire la stringa di connessione del dispositivo o del modulo del dispositivo IoT.
• Se x509, specificare un stringa di connessione che include x509=true (ad esempio: "HostName=<hub>.azure-devices.net;DeviceId=<device>;x509=true").
connectionX509CertFilePath Percorso del file del certificato client X.509 usato per l'autenticazione. Questo campo è obbligatorio quando connectionType è x509.
connectionX509PrivateKeyFilePath Percorso del file della chiave privata associata al certificato X.509. Questo campo è obbligatorio quando connectionType è x509.
connectionX509CaCertFilePath Percorso del file del certificato dell'autorità di certificazione (CA) usato per convalidare il certificato del server Hub IoT. Questo campo è obbligatorio quando connectionType è x509.
produttore Valore riportato dall'agente Device Update come parte dell'interfaccia DeviceInformation.
modello Valore riportato dall'agente Device Update come parte dell'interfaccia DeviceInformation.
proprietà aggiuntive del dispositivo Facoltativo, fino a cinque altre proprietà del dispositivo.
extensionsFolder Facoltativo, imposta il percorso della cartella delle estensioni di Device Update. Il percorso predefinito è '/var/lib/adu/extensions'.
downloadsFolder Facoltativo, imposta il percorso della cartella dei download di Aggiornamento dispositivo. Il percorso predefinito è '/var/lib/adu/downloads'.
dataFolder Facoltativo, imposta il percorso della cartella dati di Device Update. Il percorso predefinito è '/var/lib/adu'. Se si aggiorna questo valore nel file di configurazione, è necessario aggiornare di conseguenza anche CheckDataDir() nel controllo di gestione dell'integrità.
aduShellFilePath Facoltativo, imposta il percorso della shell di Device Update. Il percorso predefinito è '/usr/lib/adu'.
downloadTimeoutInMinutes Facoltativo, imposta il timeout di download degli aggiornamenti in minuti. Il valore 0 indica il valore predefinito di 8 ore.

File "du-config.json" di esempio

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