Udostępnij za pośrednictwem


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