Поделиться через


Файл конфигурации обновления устройства

Обновление устройств Azure для агента Центр Интернета вещей использует сведения о конфигурации из файла du-config.json на устройстве. Агент считывает файл и сообщает следующие значения службе обновления устройств:

  • AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["производитель"]
  • AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["модель"]
  • DeviceInformation.manufacturer
  • DeviceInformation.model
  • additionalProperties
  • connectionData
  • connectionType

Чтобы обновить или создать файл конфигурации du-config.json , выполните следующие действия.

  • При установке агента Debian на устройстве Интернета вещей с ос Linux измените файл /etc/adu/du-config.json , чтобы обновить значения.
  • Для системы сборки Yocto создайте JSON-файл в adu разделе или диске с именем /adu/du-config.json.

Поля и значения файла конфигурации

Имя Описание
SchemaVersion Версия схемы, которая сопоставляет текущую версию формата файла конфигурации.
aduShellTrustedUsers Список пользователей, которые могут запускать adu-shell, программу брокера, которая выполняет различные действия обновления в качестве 'root'. Обработчики обновления содержимого по умолчанию обновления устройства вызывают adu-shell для выполнения задач, требующих суперпользовательских привилегий, таких как apt-get install или выполнение привилегированного скрипта.
iotHubProtocol Протокол, используемый для подключения к Центр Интернета вещей Azure. Допустимые значения: mqtt или mqtt/ws. Значение по умолчанию: 'mqtt'.
compatPropertyNames Свойства, используемые для проверки совместимости устройств для развертывания обновлений. Все значения должны быть строчными.
manufacturer Значение, сообщаемое интерфейсом AzureDeviceUpdateCore:4.ClientMetadata:4 для классификации устройства для целевого развертывания обновления.
модель Значение, сообщаемое интерфейсом AzureDeviceUpdateCore:4.ClientMetadata:4 для классификации устройства для целевого развертывания обновления.
additionalProperties Необязательные свойства, доступные только для устройств, до пяти строчных регистров, которые используются для проверки совместимости.
agents Сведения о каждом агенте обновления устройств, включая connectionSource тип и данные.
name Имя агента обновления устройства.
запуск от имени Удостоверение пользователя для запуска агента обновления устройств в разделе.
connectionType Тип подключения, используемый для подключения устройства к Центр Интернета вещей. Допустимые значения: string или AIS. Используется AIS для рабочих сценариев, использующих службу удостоверений Интернета вещей для подключения. Используется string для подключения с помощью строка подключения для тестирования.
connectionData Данные, используемые для подключения устройства к Центр Интернета вещей. Если connectionType = "AIS", задайте connectionData пустую строку: "connectionData": "" Если connectionType = "string"укажите устройство или модуль Интернета вещей строка подключения.
manufacturer Значение, указанное агентом обновления устройств в рамках DeviceInformation интерфейса.
модель Значение, указанное агентом обновления устройств в рамках DeviceInformation интерфейса.
additionalDeviceProperties Необязательно, до пяти дополнительных свойств устройства.
extensionsFolder Необязательный параметр задает путь к папке расширений обновления устройств. Путь по умолчанию — '/var/lib/adu/extensions'.
downloadsFolder Необязательный параметр задает путь к папке "Обновление устройства". Путь по умолчанию — '/var/lib/adu/downloads'.
dataFolder Необязательный параметр задает путь к папке данных обновления устройства. Путь по умолчанию — '/var/lib/adu'. При обновлении этого значения в файле конфигурации необходимо соответствующим образом обновиться CheckDataDir() в проверке работоспособности.
aduShellFilePath Необязательный параметр задает путь к оболочке обновления устройств. Путь по умолчанию — '/usr/lib/adu'.
downloadTimeoutInMinutes Необязательно, задает время ожидания загрузки обновления в минутах. Значение означает, что значение 0 по умолчанию составляет 8 часов.

Пример файла 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"
      }
    }
  ]
}