你当前正在访问 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 中心的协议。 接受的值为 mqtt 或 mqtt/ws 。 默认值是 'mqtt' 。 |
compatPropertyNames | 这些属性用于检查设备兼容性以确定更新部署的目标。 所有值都必须小写。 |
制造商 | 由 AzureDeviceUpdateCore:4.ClientMetadata:4 接口报告的值,用于对设备进行分类来确定更新部署的目标。 |
model | 由 AzureDeviceUpdateCore:4.ClientMetadata:4 接口报告的值,用于对设备进行分类来确定更新部署的目标。 |
additionalProperties | 可选,最多另外五个由设备报告的全小写属性,用于兼容性检查。 |
代理 | 有关每个 Device Update 代理的信息,包括 connectionSource 类型和数据。 |
name | 设备更新代理名称。 |
运行方式 | 用于运行 Device Update 代理的用户标识。 |
connectionType | 用于将设备连接到 IoT 中心的连接类型。 接受的值为 string 或 AIS 。 对使用 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"
}
}
]
}