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"]
  • Geräteinformationen.Hersteller
  • DeviceInformation.model
  • additionalProperties
  • connectionData
  • Verbindungstyp

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 Konfigurationsdatei

Name Beschreibung
SchemaVersion Schema-Version, die der aktuellen Formatversion der Konfigurationsdatei entspricht.
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 gezielte 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.
Modell 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 Eigenschaften ausschließlich in Kleinbuchstaben, die für die Kompatibilitätsprüfung verwendet werden.
Agenten 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
Verbindungstyp Verbindungstyp, der zum Verbinden des Geräts mit IoT Hub verwendet wird. Akzeptierte Werte sind AIS, stringoder x509. Verwenden Sie AIS bei der Verwendung des IoT Identity Service. Verwenden Sie string für die Verbindungszeichenfolge-basierte Authentifizierung. Verwenden Sie x509 für die zertifikatbasierte Authentifizierung.
connectionData Daten, die zum Verbinden des Geräts mit IoT Hub verwendet werden. Das Format hängt vom connectionType ab.

• Wenn AIS festgelegt ist, auf eine leere Zeichenfolge setzen: "connectionData": "".
• Wenn string, geben Sie die Verbindungszeichenfolge des Geräts oder Moduls Ihres IoT-Geräts an.
• Wenn x509, geben Sie eine Verbindungszeichenfolge an, die x509=true enthält (z. B. "HostName=<hub>.azure-devices.net;DeviceId=<device>;x509=true").
connectionX509CertFilePath Dateipfad zum X.509-Clientzertifikat, das für die Authentifizierung verwendet wird. Dieses Feld ist erforderlich, wenn connectionTypex509 ist.
connectionX509PrivateKeyFilePath Dateipfad zum privaten Schlüssel, der dem X.509-Zertifikat zugeordnet ist. Dieses Feld ist erforderlich, wenn connectionTypex509 ist.
connectionX509CaCertFilePath Dateipfad zum Zertifikat der Zertifizierungsstelle, das zum Überprüfen des IoT Hub Serverzertifikats verwendet wird. Dieses Feld ist erforderlich, wenn connectionTypex509 ist.
Hersteller Wert, der vom Device Update-Agent als Teil der DeviceInformation-Schnittstelle gemeldet wird
Modell Wert, der vom Device Update-Agent als Teil der DeviceInformation-Schnittstelle gemeldet wird
Zusätzliche Geräteeigenschaften 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'.
Download-Ordner 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 Zustandsverwaltungsprü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"
      }
    }
  ]
}