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