Sdílet prostřednictvím


Konfigurační soubor služby Device Update for IoT Hub

Agent Device Update získá informace o konfiguraci ze du-config.json souboru v zařízení. Agent čte tyto hodnoty a hlásí je službě Device Update:

  • AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["manufacturer"]
  • AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["model"]
  • DeviceInformation.manufacturer
  • DeviceInformation.model
  • additionalProperties
  • connectionData
  • connectionType

Umístění souboru

Při instalaci agenta Debian na zařízení IoT s operačním systémem Linux upravte /etc/adu/du-config.json soubor tak, aby aktualizoval hodnoty. Pro systém sestavení Yocto v oddílu nebo disku volaný adu, vytvořte soubor JSON s názvem /adu/du-config.json.

Seznam polí

Název Popis
SchemaVersion Verze schématu, která mapuje aktuální verzi formátu konfiguračního souboru.
aduShellTrustedUsers Seznam uživatelů, kteří můžou spustit program adu-shell . Všimněte si, že adu-shell je zprostředkovaný program, který provádí různé akce aktualizace jako root. Výchozí obslužné rutiny aktualizace obsahu služby Device Update volají adu-shell, aby dělaly úlohy, které vyžadují oprávnění superuživatele. Příklady úloh, které vyžadují toto oprávnění, jsou apt-get install nebo spouští privilegovaný skript.
Výrobce Hlášeno rozhraním AzureDeviceUpdateCore:4.ClientMetadata:4 klasifikuje zařízení pro cílení na nasazení aktualizace.
model Hlášeno rozhraním AzureDeviceUpdateCore:4.ClientMetadata:4 klasifikuje zařízení pro cílení na nasazení aktualizace.
iotHubProtocol Přijaté hodnoty jsou mqtt nebo mqtt/ws změnit protokol použitý pro připojení k IoT Hubu. Výchozí hodnota je mqtt.
compatPropertyNames Tyto vlastnosti slouží ke kontrole kompatibility zařízení pro cílení na nasazení aktualizace. Pro všechny vlastnosti zadané k zajištění kompatibility musí být hodnoty pouze v malých písmenech.
additionalProperties Volitelné pole. Lze nastavit a použít další ohlášené vlastnosti zařízení pro kontrolu kompatibility . Omezeno na pět vlastností zařízení. Tyto vlastnosti by měly být pouze malé.
connectionType Přijaté hodnoty jsou string nebo AIS. Použije string se při ručním připojování zařízení ke službě IoT Hub pro účely testování. V produkčních scénářích se používá AIS při použití služby IoT Identity Service k připojení zařízení ke službě IoT Hub. Další informace najdete v tématu vysvětlení konfigurací služby IoT Identity Service.
connectionData Pokud connectionType = "string", přidejte zařízení nebo modul ioT připojovací řetězec sem. Pokud connectionType = "AIS", nastavte connectionData na prázdný řetězec ("connectionData": "").
Výrobce Nahlášení agentem Device Update v rámci rozhraní DeviceInformation .
model Nahlášení agentem Device Update v rámci rozhraní DeviceInformation .
extensionsFolder Volitelné pole. Tím se nastaví cesta ke složce ADU Extensions. Výchozí cesta je /var/lib/adu/extensions.
downloadsFolder Volitelné pole. Tím se nastaví cesta ke složce Stažené položky ADU. Výchozí cesta je /var/lib/adu/downloads.
aduShellFilePath Volitelné pole. Tím se nastaví cesta pro prostředí ADU. Výchozí cesta je /usr/lib/adu.
downloadTimeoutInMinutes Volitelné pole. Tím se nastaví časový limit stahování v minutách pro datovou část aktualizace. Hodnota nula znamená použít výchozí hodnotu, která je 8 hodin.

Pole Datafolder lze použít k nastavení cesty pro složku data ADU. CheckDataDir() v kontrole správy stavu musí být aktualizován, aby odkaz na hodnotu v konfiguračním souboru. V opačném případě se použije výchozí cesta /var/lib/adu.

Příklad obsahu souboru "du-config.json"


{
  "schemaVersion": "1.1",
  "aduShellTrustedUsers": [
    "adu",
    "do"
  ],
  "iotHubProtocol": "mqtt",
  "compatPropertyNames":"manufacturer,model,location,environment" <The property values must be in lower case only>,
  "manufacturer": <Place your device info manufacturer here>,
  "model": <Place your device info model here>,
  "agents": [
    {
      "name": <Place your agent name here>,
      "runas": "adu",
      "connectionSource": {
        "connectionType": "string", //or “AIS”
        "connectionData": <Place your Azure IoT device connection string here>
      },
      "manufacturer": <Place your device property manufacturer here>,
      "model": <Place your device property model here>,
      "additionalDeviceProperties": {
        "location": "usa",
        "environment": "development"
      }
    }
  ]
}