Plik konfiguracji aktualizacji urządzenia
Agent usługi Azure Device Update dla usługi IoT Hub używa informacji o konfiguracji z pliku du-config.json na urządzeniu. Agent odczytuje plik i zgłasza następujące wartości w usłudze Device Update:
- AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["manufacturer"]
- AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["model"]
- DeviceInformation.manufacturer
- DeviceInformation.model
- additionalProperties
- connectionData
- connectionType
Aby zaktualizować lub utworzyć plik konfiguracji du-config.json :
- Podczas instalowania agenta Debiana na urządzeniu IoT z systemem operacyjnym Linux zmodyfikuj plik /etc/adu/du-config.json , aby zaktualizować wartości.
- W przypadku systemu kompilacji Yocto utwórz plik JSON w
adu
partycji lub dysku o nazwie /adu/du-config.json.
Pola i wartości pliku konfiguracji
Nazwa/nazwisko | opis |
---|---|
Wersja schematu | Wersja schematu, która mapuje bieżącą wersję formatu pliku konfiguracji. |
aduShellTrustedUsers | Lista użytkowników, którzy mogą uruchamiać adu-shell, program brokera, który wykonuje różne akcje aktualizacji jako 'root' . Domyślne programy obsługi aktualizacji zawartości usługi Device Update wywołują adu-shell w celu wykonywania zadań wymagających uprawnień administratora, takich jak apt-get install lub wykonywanie skryptu uprzywilejowanego. |
iotHubProtocol | Protokół używany do nawiązywania połączenia z usługą Azure IoT Hub. Akceptowane wartości to mqtt lub mqtt/ws . Wartość domyślna to 'mqtt' . |
compatPropertyNames | Właściwości używane do sprawdzania zgodności urządzeń w celu wdrożenia aktualizacji. Wszystkie wartości muszą być małymi literami. |
manufacturer | Wartość zgłoszona AzureDeviceUpdateCore:4.ClientMetadata:4 przez interfejs w celu sklasyfikowania urządzenia pod kątem wdrożenia aktualizacji. |
model | Wartość zgłoszona AzureDeviceUpdateCore:4.ClientMetadata:4 przez interfejs w celu sklasyfikowania urządzenia pod kątem wdrożenia aktualizacji. |
additionalProperties | Opcjonalnie do pięciu mniejszych właściwości zgłaszanych tylko dla urządzeń do użycia na potrzeby sprawdzania zgodności. |
agenci | Informacje o każdym agencie usługi Device Update, w tym connectionSource o typie i danych. |
name | Nazwa agenta usługi Device Update. |
uruchom jako | Tożsamość użytkownika do uruchomienia agenta usługi Device Update w obszarze. |
connectionType | Typ połączenia używany do łączenia urządzenia z usługą IoT Hub. Akceptowane wartości to string lub AIS . Użyj AIS w scenariuszach produkcyjnych, które używają usługi tożsamości IoT do nawiązania połączenia. Użyj string polecenia , aby nawiązać połączenie przy użyciu parametry połączenia na potrzeby testowania. |
connectionData | Dane używane do łączenia urządzenia z usługą IoT Hub. Jeśli connectionType = "AIS" , ustaw connectionData wartość na pusty ciąg: "connectionData": "" . Jeśli connectionType = "string" wartość , podaj urządzenie lub moduł IoT parametry połączenia. |
manufacturer | Wartość zgłoszona przez agenta usługi Device Update w ramach interfejsu DeviceInformation . |
model | Wartość zgłoszona przez agenta usługi Device Update w ramach interfejsu DeviceInformation . |
additionalDeviceProperties | Opcjonalnie, maksymalnie pięć kolejnych właściwości urządzenia. |
extensionsFolder | Opcjonalnie ustawia ścieżkę folderu Rozszerzenia aktualizacji urządzenia. Domyślna ścieżka to '/var/lib/adu/extensions' . |
downloadsFolder | Opcjonalnie ustawia ścieżkę folderu pobierania usługi Device Update. Domyślna ścieżka to '/var/lib/adu/downloads' . |
dataFolder | Opcjonalnie ustawia ścieżkę folderu danych Device Update. Domyślna ścieżka to '/var/lib/adu' . Jeśli zaktualizujesz tę wartość w pliku konfiguracji, należy odpowiednio zaktualizować CheckDataDir() kontrolę zarządzania kondycją. |
aduShellFilePath | Opcjonalnie ustawia ścieżkę dla powłoki Device Update. Domyślna ścieżka to '/usr/lib/adu' . |
downloadTimeoutInMinutes | Opcjonalnie ustawia limit czasu pobierania aktualizacji w minutach. Wartość 0 oznacza wartość domyślną 8 godzin. |
Przykładowy plik "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"
}
}
]
}