Configuratiebestand voor apparaatupdate
De Azure Device Update voor IoT Hub-agent maakt gebruik van configuratiegegevens uit een du-config.json-bestand op het apparaat. De agent leest het bestand en rapporteert de volgende waarden aan de Device Update-service:
- AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["manufacturer"]
- AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["model"]
- DeviceInformation.manufacturer
- DeviceInformation.model
- additionalProperties
- connectionData
- connectionType
Het du-config.json-configuratiebestand bijwerken of maken:
- Wanneer u de Debian-agent installeert op een IoT-apparaat met een Linux-besturingssysteem, wijzigt u het bestand /etc/adu/du-config.json om de waarden bij te werken.
- Maak voor een Yocto-buildsysteem een JSON-bestand in de partitie of schijf met de
adu
naam /adu/du-config.json.
Configuratiebestandvelden en -waarden
Name | Beschrijving |
---|---|
SchemaVersion | Schemaversie waarmee de huidige versie van de configuratiebestandsindeling wordt toegewezen. |
aduShellTrustedUsers | Lijst met gebruikers die adu-shell kunnen starten, een brokerprogramma dat verschillende updateacties uitvoert als 'root' . De standaard-handlers voor inhoudsupdates van Device Update roepen adu-shell aan om taken uit te voeren waarvoor supergebruikersbevoegdheden zijn vereist, zoals apt-get install of het uitvoeren van een bevoegd script. |
iotHubProtocol | Protocol dat wordt gebruikt om verbinding te maken met Azure IoT Hub. Geaccepteerde waarden zijn mqtt of mqtt/ws . De standaardwaarde is 'mqtt' . |
compatPropertyNames | Eigenschappen die worden gebruikt om te controleren op compatibiliteit van apparaten om de update-implementatie te richten. Alle waarden moeten kleine letters bevatten. |
fabrikant | De waarde die door de AzureDeviceUpdateCore:4.ClientMetadata:4 interface wordt gerapporteerd om het apparaat te classificeren voor het doel van de update-implementatie. |
model | De waarde die door de AzureDeviceUpdateCore:4.ClientMetadata:4 interface wordt gerapporteerd om het apparaat te classificeren voor het doel van de update-implementatie. |
additionalProperties | Optioneel, maximaal vijf meer door kleine letters gerapporteerde eigenschappen die moeten worden gebruikt voor compatibiliteitscontrole. |
agents | Informatie over elke Device Update-agent, inclusief connectionSource type en gegevens. |
naam | De naam van de Device Update-agent. |
runas | Gebruikersidentiteit voor het uitvoeren van de Device Update-agent onder. |
connectionType | Verbindingstype dat moet worden gebruikt om het apparaat te verbinden met IoT Hub. Geaccepteerde waarden zijn string of AIS . Gebruiken AIS voor productiescenario's die gebruikmaken van de IoT Identity Service om verbinding te maken. Gebruik string dit om verbinding te maken met behulp van een verbindingsreeks voor testdoeleinden. |
connectionData | Gegevens die moeten worden gebruikt om het apparaat te verbinden met IoT Hub. Als connectionType = "AIS" , stelt u de connectionData in op een lege tekenreeks: "connectionData": "" . Als connectionType = "string" u het apparaat of de module van uw IoT-apparaat opgeeft verbindingsreeks. |
fabrikant | De waarde die door de Device Update-agent wordt gerapporteerd als onderdeel van de DeviceInformation interface. |
model | De waarde die door de Device Update-agent wordt gerapporteerd als onderdeel van de DeviceInformation interface. |
additionalDeviceProperties | Optioneel, maximaal vijf apparaateigenschappen. |
extensionsFolder | Optioneel stelt u het pad in voor de map Device Update-extensies. Standaardpad is '/var/lib/adu/extensions' . |
downloadsFolder | Hiermee stelt u het pad in voor de map Device Update-downloads. Standaardpad is '/var/lib/adu/downloads' . |
dataFolder | Optioneel stelt u het pad in voor de gegevensmap Device Update. Standaardpad is '/var/lib/adu' . Als u deze waarde in het configuratiebestand bijwerkt, moet u dienovereenkomstig bijwerken CheckDataDir() in de statusbeheercontrole . |
aduShellFilePath | Hiermee stelt u het pad voor de Device Update-shell in. Standaardpad is '/usr/lib/adu' . |
downloadTimeoutInMinutes | Hiermee stelt u de time-out voor het downloaden van de update in minuten in. Waarde 0 betekent de standaardwaarde van 8 uur. |
Voorbeeldbestand 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"
}
}
]
}