共用方式為


裝置更新配置檔

適用於 IoT 中樞 代理程式的 Azure 裝置更新會使用裝置上du-config.json檔案的組態資訊。 代理程式會讀取檔案,並將下列值回報給裝置更新服務:

  • 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/du-config.json 的磁碟或磁盤中adu建立 JSON 檔案。

組態檔欄位和值

名稱 描述
schemaVersion 對應目前組態檔格式版本的架構版本。
aduShellTrustedUsers 可以啟動adu-shell的使用者清單,這是執行各種更新動作做為 'root'的訊息代理程式。 Device Update 預設內容更新處理程式會叫用 adu-shell 來執行需要進階用戶許可權的工作,例如 apt-get install 或執行特殊許可權腳本。
iotHubProtocol 用來與 Azure IoT 中樞 連線的通訊協定。 接受的值為 mqttmqtt/ws。 預設值為 'mqtt'
compatPropertyNames 用來檢查裝置相容性以設定更新部署目標的屬性。 所有值都必須是小寫。
製造商 介面回報 AzureDeviceUpdateCore:4.ClientMetadata:4 的值,以分類裝置以鎖定更新部署。
機型 介面回報 AzureDeviceUpdateCore:4.ClientMetadata:4 的值,以分類裝置以鎖定更新部署。
additionalProperties 選擇性,最多五個小寫的裝置報告屬性,以用於相容性檢查。
agents 每個裝置更新代理程式的相關信息,包括 connectionSource 類型和數據。
NAME 裝置更新代理程式名稱。
runas 執行裝置更新代理程式的使用者身分識別。
connectionType 用來將裝置連線到 IoT 中樞的連線類型。 接受的值為 stringAIS。 用於 AIS 使用IoT身分識別服務進行連線的生產案例。 用於string使用 連接字串 進行測試。
connectionData 用來將裝置連線到 IoT 中樞 的數據。 如果 connectionType = "AIS"為 ,請將 設定 connectionData 為空字串: "connectionData": ""。 如果connectionType = "string"為 ,請提供IoT裝置的裝置或模組 連接字串。
製造商 裝置更新代理程序回報的值,做為介面的 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"
      }
    }
  ]
}