Device Update for IoT Hub 構成ファイル
Device Update エージェントでは、デバイス上の du-config.json
ファイルから構成情報を取得します。 エージェントで、これらの値が読み取られ、Device Update サービスに報告されます。
- AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["manufacturer"]
- AzureDeviceUpdateCore:4.ClientMetadata:4.deviceProperties["model"]
- DeviceInformation.manufacturer
- DeviceInformation.model
- additionalProperties
- connectionData
- connectionType
ファイルの場所
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 や特権スクリプトの実行などがあります。 |
manufacturer | AzureDeviceUpdateCore:4.ClientMetadata:4 インターフェイスによって、更新デプロイをターゲットとするデバイスを分類するために報告されます。 |
モデル | AzureDeviceUpdateCore:4.ClientMetadata:4 インターフェイスによって、更新デプロイをターゲットとするデバイスを分類するために報告されます。 |
iotHubProtocol | 指定可能な値は mqtt または mqtt/ws で、IoT ハブとの接続に使用されるプロトコルを変更します。 既定値は "mqtt" です。 |
compatPropertyNames | これらのプロパティは、更新プログラムの展開の対象となるデバイスの互換性を確認するために使用されます。 互換性のために使用するように指定されたすべてのプロパティでは、値は小文字でのみ指定する必要があります |
additionalProperties | 省略可能なフィールド。 デバイスによって報告された追加のプロパティを設定し、互換性チェックに使用できます。 5 つのデバイス プロパティに制限されています。 これらのプロパティは、小文字でのみ指定する必要があります。 |
connectionType | 指定できる値は string または AIS です。 テスト目的でデバイスを IoT Hub に手動で接続する場合、string を使用します。 運用環境のシナリオでは、IoT ID サービスを使用してデバイスを IoT Hub に接続する際は、AIS を使用します。 詳細については、IoT ID サービスの構成についての理解に関する記事を参照してください。 |
connectionData | ConnectionType = "string" の場合は、IoT デバイスのデバイスまたはモジュールの接続文字列をここに追加します。 connectionType = "AIS" の場合は、connectionData を空の文字列 ("connectionData": "" ) に設定します。 |
manufacturer | Device Update エージェントによって DeviceInformation インターフェイスの一部として報告されます。 |
model | Device Update エージェントによって DeviceInformation インターフェイスの一部として報告されます。 |
extensionsFolder | 省略可能なフィールド。 これにより、ADU Extensions フォルダーのパスが設定されます。 既定のパスは '/var/lib/adu/extensions' です |
downloadsFolder | 省略可能なフィールド。 これにより、ADU ダウンロード フォルダーのパスが設定されます。 既定のパスは '/var/lib/adu/downloads' です |
aduShellFilePath | 省略可能なフィールド。 これにより、ADU シェルのパスが設定されます。 既定のパスは '/usr/lib/adu' です |
downloadTimeoutInMinutes | 省略可能なフィールド。 これにより、更新 ペイロードのダウンロード タイムアウトが分単位で設定されます。 値が 0 の場合は、既定値 (8 時間) が使用されます。 |
'Datafolder' フィールドは、ADU データ フォルダーのパスを設定するために使用します。ヘルス管理チェックでの CheckDataDir() は、構成ファイル内の値を指すように更新する必要があります。 それ以外の場合、既定のパスには '/var/lib/adu' が使用されます。
"du-config.json" ファイル コンテンツの例
{
"schemaVersion": "1.1",
"aduShellTrustedUsers": [
"adu",
"do"
],
"iotHubProtocol": "mqtt",
"compatPropertyNames":"manufacturer,model,location,environment" <The property values must be in lower case only>,
"manufacturer": <Place your device info manufacturer here>,
"model": <Place your device info model here>,
"agents": [
{
"name": <Place your agent name here>,
"runas": "adu",
"connectionSource": {
"connectionType": "string", //or “AIS”
"connectionData": <Place your Azure IoT device connection string here>
},
"manufacturer": <Place your device property manufacturer here>,
"model": <Place your device property model here>,
"additionalDeviceProperties": {
"location": "usa",
"environment": "development"
}
}
]
}