Condividi tramite


File di configurazione di Aggiornamento dispositivi

L'agente di Aggiornamento dispositivi di Azure per hub IoT usa le informazioni di configurazione da un file di du-config.json nel 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
  • connectionType

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 esegue il mapping della 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 di aggiornamento del contenuto predefiniti di Aggiornamento dispositivi richiamano adu-shell per eseguire attività che richiedono privilegi avanzati per l'utente, ad esempio apt-get install o l'esecuzione di uno script con privilegi.
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.
manufacturer Valore segnalato dall'interfaccia AzureDeviceUpdateCore:4.ClientMetadata:4 per classificare il dispositivo per la distribuzione degli aggiornamenti.
model Valore segnalato dall'interfaccia AzureDeviceUpdateCore:4.ClientMetadata:4 per classificare il dispositivo per la distribuzione degli aggiornamenti.
additionalProperties Facoltativo, fino a cinque proprietà segnalate solo minuscole da usare per il controllo della compatibilità.
agents Informazioni su ogni agente di Aggiornamento dispositivi, inclusi connectionSource il tipo e i dati.
name Nome dell'agente di Aggiornamento dispositivi.
RunAs Identità utente in cui eseguire l'agente di Aggiornamento dispositivi.
connectionType Tipo di connessione da usare per la connessione del dispositivo a hub IoT. I valori accettati sono string o AIS. Usare AIS per scenari di produzione che usano il servizio di gestione delle identità IoT per connettersi. Usare string per connettersi usando un stringa di connessione a scopo di test.
connectionData Dati da usare per la connessione del dispositivo a hub IoT. Se connectionType = "AIS", impostare su connectionData una stringa vuota: "connectionData": "". Se connectionType = "string", specificare il dispositivo o il modulo IoT stringa di connessione.
manufacturer Valore segnalato dall'agente di Aggiornamento dispositivi come parte dell'interfaccia DeviceInformation .
model Valore segnalato dall'agente di Aggiornamento dispositivi come parte dell'interfaccia DeviceInformation .
additionalDeviceProperties Facoltativo, fino a cinque altre proprietà del dispositivo.
extensionsFolder Facoltativo, imposta il percorso per la cartella Estensioni aggiornamento dispositivi. Il percorso predefinito è '/var/lib/adu/extensions'.
downloadsFolder Facoltativo, imposta il percorso per la cartella Download di Aggiornamento dispositivi. Il percorso predefinito è '/var/lib/adu/downloads'.
dataFolder Facoltativo, imposta il percorso per la cartella dei dati di Aggiornamento dispositivi. Il percorso predefinito è '/var/lib/adu'. Se si aggiorna questo valore nel file di configurazione, è necessario eseguire l'aggiornamento CheckDataDir() nel controllo di gestione dell'integrità di conseguenza.
aduShellFilePath Facoltativo, imposta il percorso per la shell di Aggiornamento dispositivi. 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"
      }
    }
  ]
}