Konfigurationsfil för enhetsuppdatering
Azure Device Update för IoT Hub-agenten använder konfigurationsinformation från en du-config.json fil på enheten. Agenten läser filen och rapporterar följande värden till enhetsuppdateringstjänsten:
- AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["manufacturer"]
- AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["model"]
- DeviceInformation.manufacturer
- DeviceInformation.model
- additionalProperties
- connectionData
- connectionType
Så här uppdaterar eller skapar du konfigurationsfilen för du-config.json :
- När du installerar Debian-agenten på en IoT-enhet med ett Linux-operativsystem ändrar du filen /etc/adu/du-config.json för att uppdatera värdena.
- För ett Yocto-byggsystem skapar du en JSON-fil i partitionen eller disken
adu
med namnet /adu/du-config.json.
Fält och värden för konfigurationsfilen
Name | beskrivning |
---|---|
SchemaVersion | Schemaversion som mappar den aktuella versionen av konfigurationsfilformatet. |
aduShellTrustedUsers | Lista över användare som kan starta adu-shell, ett koordinatorprogram som utför olika uppdateringsåtgärder som 'root' . Enhetsuppdateringens standardhanterare för innehållsuppdateringar anropar adu-shell för att utföra uppgifter som kräver superanvändarbehörighet, till exempel apt-get install eller körning av ett privilegierat skript. |
iotHubProtocol | Protokoll som används för att ansluta till Azure IoT Hub. Godkända värden är mqtt eller mqtt/ws . Standardvärdet är 'mqtt' . |
compatPropertyNames | Egenskaper som används för att söka efter enhetskompatibilitet för att rikta in sig på uppdateringsdistributionen. Alla värden måste vara gemener. |
manufacturer | Värde som rapporterats av AzureDeviceUpdateCore:4.ClientMetadata:4 gränssnittet för att klassificera enheten för att rikta in sig på uppdateringsdistributionen. |
modell | Värde som rapporterats av AzureDeviceUpdateCore:4.ClientMetadata:4 gränssnittet för att klassificera enheten för att rikta in sig på uppdateringsdistributionen. |
additionalProperties | Valfritt, upp till fem fler enhetsrapporterade egenskaper med endast gemener som ska användas för kompatibilitetskontroll. |
agents | Information om varje enhetsuppdateringsagent, inklusive connectionSource typ och data. |
name | Namn på enhetsuppdateringsagent. |
runas | Användaridentitet som enhetsuppdateringsagenten ska köras under. |
connectionType | Anslutningstyp som ska användas för att ansluta enheten till IoT Hub. Godkända värden är string eller AIS . Använd AIS för produktionsscenarier som använder IoT Identity Service för att ansluta. Använd string för att ansluta med hjälp av en anslutningssträng i testsyfte. |
connectionData | Data som ska användas för att ansluta enheten till IoT Hub. Om connectionType = "AIS" anger du connectionData till en tom sträng: "connectionData": "" . Om connectionType = "string" anger du IoT-enhetens enhet eller modul anslutningssträng. |
manufacturer | Värde som rapporteras av enhetsuppdateringsagenten DeviceInformation som en del av gränssnittet. |
modell | Värde som rapporteras av enhetsuppdateringsagenten DeviceInformation som en del av gränssnittet. |
additionalDeviceProperties | Valfritt, upp till fem enhetsegenskaper till. |
extensionsFolder | Valfritt, anger sökvägen för mappen Enhetsuppdateringstillägg. Standardsökvägen är '/var/lib/adu/extensions' . |
downloadsFolder | Valfritt, anger sökvägen för mappen Enhetsuppdatering som laddar ned. Standardsökvägen är '/var/lib/adu/downloads' . |
dataFolder | Valfritt anger sökvägen för datamappen Enhetsuppdatering. Standardsökvägen är '/var/lib/adu' . Om du uppdaterar det här värdet i konfigurationsfilen måste du uppdatera CheckDataDir() i hälsohanteringskontrollen i enlighet med detta. |
aduShellFilePath | Valfritt, anger sökvägen för enhetsuppdateringsgränssnittet. Standardsökvägen är '/usr/lib/adu' . |
downloadTimeoutInMinutes | Valfritt anger tidsgränsen för uppdateringsnedladdning i minuter. Värde 0 innebär standardvärdet 8 timmar. |
Exempelfil för "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"
}
}
]
}