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
  • typ połączenia

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.
producent Wartość raportowana przez interfejs AzureDeviceUpdateCore:4.ClientMetadata:4, służąca do klasyfikowania urządzenia na potrzeby wdrożenia aktualizacji.
model Wartość raportowana przez interfejs AzureDeviceUpdateCore:4.ClientMetadata:4, służąca do klasyfikowania urządzenia na potrzeby wdrożenia aktualizacji.
additionalProperties Opcjonalnie: maksymalnie pięć dodatkowych właściwości zgłaszanych przez urządzenie, zapisanych wyłącznie małymi literami, używanych do sprawdzania zgodności.
agenci Informacje o każdym agencie usługi Device Update, w tym connectionSource typie i danych.
nazwa Nazwa agenta usługi Device Update.
Uruchom jako Tożsamość użytkownika używana do uruchamiania agenta usługi Device Update.
typ połączenia Typ połączenia używany do łączenia urządzenia z IoT Hub. Akceptowane wartości to AIS, stringlub x509. Użyj AIS podczas korzystania z usługi IoT Identity Service. Użyj string do uwierzytelniania opartego na parametry połączenia. Służy x509 do uwierzytelniania opartego na certyfikatach.
connectionData Dane używane do łączenia urządzenia z IoT Hub. Format zależy od elementu connectionType:

• Jeśli AIS, ustaw na pusty ciąg: "connectionData": "".
• Jeśli string, podaj parametry połączenia urządzenia lub modułu urządzenia IoT.
• Jeśli x509, podaj parametry połączenia, który zawiera x509=true (na przykład: "HostName=<hub>.azure-devices.net;DeviceId=<device>;x509=true").
connectionX509CertFilePath Ścieżka pliku do certyfikatu klienta X.509 używanego do uwierzytelniania. To pole jest wymagane, gdy connectionType ma wartość x509.
connectionX509PrivateKeyFilePath Ścieżka pliku do klucza prywatnego skojarzonego z certyfikatem X.509. To pole jest wymagane, gdy connectionType ma wartość x509.
connectionX509CaCertFilePath Ścieżka pliku do certyfikatu urzędu certyfikacji (CA) używanego do weryfikacji certyfikatu serwera IoT Hub. To pole jest wymagane, gdy connectionType ma wartość x509.
producent 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 .
Dodatkowe właściwości urządzenia Opcjonalnie, maksymalnie pięć kolejnych właściwości urządzenia.
folderRozszerzeń Opcjonalnie ustawia ścieżkę do folderu rozszerzeń usługi Device Update. 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, musisz odpowiednio zaktualizować CheckDataDir() w kontroli stanu kondycji.
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"
      }
    }
  ]
}