次の方法で共有


Device Update の構成ファイル

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 ファイルを作成します。

構成ファイルのフィールドと値

名前 説明
SchemaVersion 現在の構成ファイル形式のバージョンをマップするスキーマ バージョン。
aduShellTrustedUsers adu-shell を起動できるユーザーの一覧。adu-shell は、さまざまな更新アクションを 'root' として実行するブローカー プログラムです。 Device Update の既定のコンテンツ更新ハンドラーは adu-shell を呼び出して、apt-get install や特権スクリプトの実行など、スーパー ユーザー特権を必要とするタスクを実行します。
iotHubProtocol Azure IoT Hub との接続に使用されるプロトコル。 指定できる値は mqtt または mqtt/ws です。 既定値は 'mqtt' です。
compatPropertyNames 更新プログラムの展開の対象となるデバイスの互換性を確認するために使用されるプロパティ。 すべての値を小文字にする必要があります。
manufacturer 更新プログラムの展開の対象となるデバイスを分類するために、AzureDeviceUpdateCore:4.ClientMetadata:4 インターフェイスによって報告される値。
モデル 更新プログラムの展開の対象となるデバイスを分類するために、AzureDeviceUpdateCore:4.ClientMetadata:4 インターフェイスによって報告される値。
additionalProperties オプション。互換性チェックに使用する、デバイスによって報告される小文字のみのプロパティを追加で 5 つまで指定できます。
エージェント connectionSource の種類やデータなど、各 Device Update エージェントに関する情報。
name Device Update エージェントの名前。
RunAs Device Update エージェントを実行するユーザー ID。
connectionType デバイスを IoT Hub に接続するために使用する接続の種類。 指定できる値は string または AIS です。 接続に IoT ID サービスを使用する運用シナリオでは、AIS を使用します。 テスト目的で接続文字列を使用して接続する場合は、string を使用します。
connectionData デバイスを IoT Hub に接続するために使用するデータ。 connectionType = "AIS" の場合は、connectionData を空の文字列 "connectionData": "" に設定します。. connectionType = "string" の場合は、IoT デバイスのデバイスまたはモジュールの接続文字列を指定します。
manufacturer Device Update エージェントによって DeviceInformation インターフェイスの一部として報告される値。
モデル Device Update エージェントによって DeviceInformation インターフェイスの一部として報告される値。
additionalDeviceProperties オプション。最大 5 つの追加のデバイス プロパティ。
extensionsFolder オプション。Device Update の "拡張機能" フォルダーのパスを設定します。 既定のパスは '/var/lib/adu/extensions' です。
downloadsFolder オプション。Device Update の "ダウンロード" フォルダーのパスを設定します。 既定のパスは '/var/lib/adu/downloads' です。
dataFolder オプション。Device Update の "データ" フォルダーのパスを設定します。 既定のパスは '/var/lib/adu' です。 構成ファイルでこの値を更新する場合は、正常性管理チェックCheckDataDir() を適宜更新する必要があります。
aduShellFilePath オプション。Device Update シェルのパスを設定します。 既定のパスは '/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"
      }
    }
  ]
}