Aktualizacja urządzenia dla pliku konfiguracji usługi IoT Hub
Agent usługi Device Update pobiera informacje o konfiguracji z du-config.json
pliku na urządzeniu. Agent odczytuje te wartości i zgłasza je do usługi Device Update:
- AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["manufacturer"]
- AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["model"]
- DeviceInformation.manufacturer
- DeviceInformation.model
- additionalProperties
- connectionData
- connectionType
Lokalizacja pliku
Podczas instalowania agenta Debiana na urządzeniu IoT z systemem operacyjnym Linux zmodyfikuj plik w /etc/adu/du-config.json
celu zaktualizowania wartości. W przypadku systemu kompilacji Yocto w partycji lub dysku o nazwie adu
utwórz plik json o nazwie /adu/du-config.json
.
Lista pól
Nazwa/nazwisko | opis |
---|---|
Wersja schematu | Wersja schematu, która mapuje bieżącą wersję formatu pliku konfiguracji. |
aduShellTrustedUsers | Lista użytkowników, którzy mogą uruchomić program adu-shell . Uwaga: adu-shell to program brokera, który wykonuje różne akcje aktualizacji jako "root". Programy obsługi aktualizacji zawartości domyślnej aktualizacji urządzenia wywołują adu-shell w celu wykonywania zadań wymagających uprawnień administratora. Przykłady zadań, które wymagają tego uprawnienia, to apt-get install lub wykonywanie skryptu uprzywilejowanego. |
manufacturer | Zgłoszone przez interfejs AzureDeviceUpdateCore:4.ClientMetadata:4 w celu sklasyfikowania urządzenia pod kątem wdrożenia aktualizacji. |
model | Zgłoszone przez interfejs AzureDeviceUpdateCore:4.ClientMetadata:4 w celu sklasyfikowania urządzenia pod kątem wdrożenia aktualizacji. |
iotHubProtocol | Akceptowane wartości to mqtt lub mqtt/ws aby zmienić protokół używany do nawiązywania połączenia z usługą IoT Hub. Wartość domyślna to "mqtt" |
compatPropertyNames | Te właściwości służą do sprawdzania zgodności urządzenia w celu kierowania wdrożenia aktualizacji. Dla wszystkich właściwości określonych do użycia w celu zachowania zgodności wartości muszą być tylko w małych literach |
additionalProperties | Pole opcjonalne. Dodatkowe zgłaszane właściwości urządzenia można ustawić i użyć do sprawdzania zgodności. Ograniczone do pięciu właściwości urządzenia. Te właściwości powinny mieć tylko małe litery. |
connectionType | Akceptowane wartości to string lub AIS . Użyj string polecenia podczas ręcznego łączenia urządzenia z usługą IoT Hub na potrzeby testowania. W przypadku scenariuszy produkcyjnych użyj AIS usługi IoT Identity Service, aby połączyć urządzenie z usługą IoT Hub. Aby uzyskać więcej informacji, zobacz Omówienie konfiguracji usługi tożsamości IoT. |
connectionData | Jeśli parametr connectionType = "string", dodaj urządzenie lub moduł IoT parametry połączenia tutaj. Jeśli connectionType = "AIS", ustaw parametr connectionData na puste parametry ("connectionData": "" ). |
manufacturer | Zgłoszone przez agenta usługi Device Update w ramach interfejsu DeviceInformation . |
model | Zgłoszone przez agenta usługi Device Update w ramach interfejsu DeviceInformation . |
extensionsFolder | Pole opcjonalne. Spowoduje to ustawienie ścieżki dla folderu Rozszerzenia usługi ADU. Ścieżka domyślna to "/var/lib/adu/extensions" |
downloadsFolder | Pole opcjonalne. Spowoduje to ustawienie ścieżki folderu pobierania usługi ADU. Domyślna ścieżka to "/var/lib/adu/downloads" |
aduShellFilePath | Pole opcjonalne. Spowoduje to ustawienie ścieżki dla powłoki ADU. Ścieżka domyślna to "/usr/lib/adu" |
downloadTimeoutInMinutes | Pole opcjonalne. Spowoduje to ustawienie limitu czasu pobierania w minutach dla ładunku aktualizacji. Wartość zero oznacza użycie wartości domyślnej, która wynosi 8 godzin. |
Pole "Datafolder" może służyć do ustawiania ścieżki dla folderu danych USŁUGI ADU. Funkcja CheckDataDir() w czeku zarządzania kondycją musi zostać zaktualizowana, aby wskazywała wartość w pliku konfiguracji. Domyślna ścieżka to "/var/lib/adu" jest używana w przeciwnym razie.
Przykładowa zawartość pliku "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"
}
}
]
}