你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

设备更新配置文件

Azure Device Update for IoT Hub 代理使用设备上的 du-config.json 文件中的配置信息。 代理读取该文件并将以下值报告给 Device Update 服务:

  • AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["manufacturer"]
  • AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["model"]
  • DeviceInformation.manufacturer
  • DeviceInformation.model
  • additionalProperties
  • connectionData
  • connectionType

若要更新或创建 du-config.json 配置文件,请执行以下操作:

  • 在使用 Linux OS 的 IoT 设备上安装 Debian 代理时,请修改 /etc/adu/du-config.json 文件以更新值。
  • 对于 Yocto 生成系统,请在 adu 分区或磁盘中创建一个名为 /adu/du-config.json 的 json 文件。

配置文件字段和值

名称 说明
架构版本 映射当前配置文件格式版本的架构版本。
aduShellTrustedUsers 可以启动 adu-shell 的用户列表,adu-shell 是一个代理程序,以 'root' 身份执行各种更新操作。 设备更新默认内容更新处理程序会调用 adu-shell 来执行需要超级用户权限的任务(例如 apt-get install)或执行特权脚本。
iotHubProtocol 用于连接到 Azure IoT 中心的协议。 接受的值为 mqttmqtt/ws。 默认值是 'mqtt'
compatPropertyNames 这些属性用于检查设备兼容性以确定更新部署的目标。 所有值都必须小写。
制造商 AzureDeviceUpdateCore:4.ClientMetadata:4 接口报告的值,用于对设备进行分类来确定更新部署的目标。
model AzureDeviceUpdateCore:4.ClientMetadata:4 接口报告的值,用于对设备进行分类来确定更新部署的目标。
additionalProperties 可选,最多另外五个由设备报告的全小写属性,用于兼容性检查。
代理 有关每个 Device Update 代理的信息,包括 connectionSource 类型和数据。
name 设备更新代理名称。
运行方式 用于运行 Device Update 代理的用户标识。
connectionType 用于将设备连接到 IoT 中心的连接类型。 接受的值为 stringAIS。 对使用 IoT 标识服务进行连接的生产方案使用 AIS。 使用 string 通过连接字符串进行连接以进行测试。
connectionData 用于将设备连接到 IoT 中心的数据。 如果 connectionType = "AIS",请将 connectionData 设置为空字符串:"connectionData": ""。 如果 connectionType = "string",请提供 IoT 设备的设备或模块连接字符串。
制造商 由 Device Update 代理作为 DeviceInformation 接口的一部分报告的值。
model 由 Device Update 代理作为 DeviceInformation 接口的一部分报告的值。
additionalDeviceProperties 可选,最多五个其他设备属性。
extensionsFolder 可选,设置 Device Update 扩展文件夹的路径。 默认路径为 '/var/lib/adu/extensions'
downloadsFolder 可选,设置 Device Update 下载文件夹的路径。 默认路径为 '/var/lib/adu/downloads'
dataFolder 可选,设置 Device Update 数据文件夹的路径。 默认路径为 '/var/lib/adu'。 如果在配置文件中更新此值,则必须相应地更新运行状况管理检查中的 CheckDataDir()
aduShellFilePath 可选,设置 Device Update shell 的路径。 默认路径为 '/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"
      }
    }
  ]
}