Freigeben über


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