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