Device Update-Konfigurationsdatei
Der Azure Device Update for IoT Hub-Agent verwendet Konfigurationsinformationen aus der Datei du-config.json auf dem Gerät. Der Agent liest die Datei und meldet dem Device Update-Dienst die folgenden Werte:
- AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["manufacturer"]
- AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["model"]
- DeviceInformation.manufacturer
- DeviceInformation.model
- additionalProperties
- connectionData
- connectionType
So aktualisieren oder erstellen Sie die Konfigurationsdatei du-config.json:
- Wenn Sie den Debian-Agent auf einem IoT-Gerät mit einem Linux-Betriebssystem installieren, ändern Sie die Datei /etc/adu/du-config.json, um die Werte zu aktualisieren.
- Erstellen Sie für ein Yocto-Buildsystem in der Partition oder auf dem Datenträger
adu
eine JSON-Datei mit dem Namen /adu/du-config.json.
Felder und Werte der JSON-Konfigurationsdatei
Name | Beschreibung |
---|---|
SchemaVersion | Schemaversion, mit der die aktuelle Formatversion der Konfigurationsdatei zugeordnet wird |
aduShellTrustedUsers | Liste der Benutzenden, die adu-shell starten können, ein Brokerprogramm, das verschiedene Updateaktionen als 'root' ausführt. Die Device Update-Standardhandler für Inhaltsupdates rufen adu-shell auf, um Aufgaben auszuführen, für die die Superuser-Berechtigung erforderlich ist, etwa apt-get install oder Ausführen eines Skripts mit erhöhten Rechten. |
iotHubProtocol | Protokoll, das für die Verbindung mit Azure IoT Hub verwendet wird. Zulässige Werte sind mqtt und mqtt/ws . Der Standardwert ist 'mqtt' . |
compatPropertyNames | Eigenschaften, mit denen die Gerätekompatibilität für die Updatebereitstellung überprüft wird. Alle Werte müssen klein geschrieben sein. |
Hersteller | Der von der AzureDeviceUpdateCore:4.ClientMetadata:4 -Schnittstelle gemeldete Wert, um das Gerät für die Updatebereitstellung zu klassifizieren |
model | Der von der AzureDeviceUpdateCore:4.ClientMetadata:4 -Schnittstelle gemeldete Wert, um das Gerät für die Updatebereitstellung zu klassifizieren |
additionalProperties | Optional, bis zu fünf weitere vom Gerät gemeldete klein geschriebene Eigenschaften, die zur Kompatibilitätsprüfung verwendet werden sollen |
agents | Informationen zu jedem Device Update-Agent, einschließlich connectionSource -Typ und -Daten |
Name | Name des Device Update-Agents |
RunAs | Benutzeridentität, unter der der Device Update-Agent ausgeführt werden soll |
connectionType | Verbindungstyp, der zum Verbinden des Geräts mit IoT Hub verwendet werden soll. Zulässige Werte sind string und AIS . Verwenden Sie AIS für Produktionsszenarien, die den IoT-Identitätsdienst verwenden, um eine Verbindung herzustellen. Verwenden Sie string zum Herstellen einer Verbindung mithilfe einer Verbindungszeichenfolge zu Testzwecken. |
connectionData | Daten, die zum Herstellen einer Verbindung des Geräts mit IoT Hub verwendet werden sollen. Legen Sie connectionData bei Verwendung von connectionType = "AIS" auf eine leere Zeichenfolge fest: "connectionData": "" . Geben Sie bei connectionType = "string" die Geräte- oder Modulverbindungszeichenfolge Ihres IoT-Geräts an. |
Hersteller | Wert, der vom Device Update-Agent als Teil der DeviceInformation -Schnittstelle gemeldet wird |
model | Wert, der vom Device Update-Agent als Teil der DeviceInformation -Schnittstelle gemeldet wird |
additionalDeviceProperties | Optional, bis zu fünf weitere Geräteeigenschaften. |
extensionsFolder | Optional, legt den Pfad für den Device Update-Ordner extensions fest. Der Standardpfad ist '/var/lib/adu/extensions' . |
downloadsFolder | Optional, legt den Pfad für den Device Update-Ordner downloads fest. Der Standardpfad ist '/var/lib/adu/downloads' . |
dataFolder | Optional, legt den Pfad für den Device Update-Ordner data fest. Der Standardpfad ist '/var/lib/adu' . Wenn Sie diesen Wert in der Konfigurationsdatei aktualisieren, müssen Sie CheckDataDir() in der Integritätsverwaltungsprüfung entsprechend aktualisieren. |
aduShellFilePath | Optional, legt den Pfad für die Device Update-Shell fest. Der Standardpfad ist '/usr/lib/adu' . |
downloadTimeoutInMinutes | Optional, legt das Timeout für den Updatedownload in Minuten fest. Der Wert 0 steht für die Standardeinstellung von 8 Stunden. |
Beispiel für die Datei „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"
}
}
]
}