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"
}
}
]
}