複数のデバイスのプロパティを一度に構成する場合、IoT Platform コンソールでバッチプロパティ構成タスクを作成できます。このトピックでは、バッチプロパティ構成タスクを作成し、タスクに関する情報を表示する方法について説明します。また、タスクの実行中に使用されるトピックと対応するメッセージ形式についても説明します。
前提条件
- 構成するプロパティを持つデバイスが属するプロダクトに対して Thing Specification Language(TSL)モデルが定義されており、プロパティは同じ識別子を持っている必要があります。詳細については、「TSL 機能を一括追加する」をご参照ください。
- TSL プロパティ構成機能は、デバイス上で開発されています。詳細については、「概要」をご参照ください。
タスク管理プロセス
- バッチプロパティ構成タスクを作成します。
- IoT Platform コンソールで、管理するインスタンスを見つけ、インスタンス名をクリックします。[インスタンスの詳細] ページの左側のナビゲーションウィンドウで、 を選択します。[タスク] ページで、[タスクの作成] をクリックします。
- [タスクの作成] ページで、[タスクの作成] と [タスクの構成] の手順で表示される指示に従ってパラメーターを構成します。パラメーターの横にある
アイコンにポインターを移動すると、パラメーターに関する情報が表示されます。 次の表にパラメーターを示します。
- タスクの作成
パラメーター 説明 タスク名 タスクの有効な名前を指定します。カスタム名を指定できます。 タスクタイプ パラメーターを [バッチプロパティ構成タスク] に設定します。 タスクの説明 タスクの目的などの情報を指定します。これは、タスクを識別するために使用できます。 宛先デバイス、プロダクト、またはグループ タスクを実行するデバイスを選択します。個別のデバイス、プロダクト別のデバイス、またはグループ別のデバイスを選択できます。重要 グループ別にデバイスを選択する場合、動的グループは選択できません。デバイスに発行されるタスク実行ルール ルールファイルをアップロードします。ファイルは JSON
形式である必要があり、サイズは 64 KB を超えることはできません。[テンプレートのダウンロード] をクリックして、ルールテンプレートを取得できます。
次のサンプルコードは、名前が Temperature、[識別子] が temperature、[データ型] が [double] であるプロダクトのデバイスの TSL プロパティを定義しています。
{ "params": { "temperature": 30.5 // 温度の値を設定 } }
- params: プロパティの詳細を指定します。params には複数のプロパティを構成できます。
- temperature と 30.5 は、プロパティ識別子とプロパティ値を示します。デバイスのプロパティ識別子を表示するには、IoT Platform コンソールで、デバイスが属するプロダクトの [機能の定義] タブに移動します。
temperature
という名前のプロパティがtestFb
という名前のカスタムモジュールに属している場合は、キーと値のペアを"testFb:temperature":30.5
に設定します。カスタムモジュールはデフォルトモジュールではありません。
- タスクの構成
パラメーター 説明 タスク実行レート ビジネス要件に基づいて、1 分あたりにタスクをプッシュする回数を指定します。このパラメーターは必須です。 タスク実行タイムアウト期間 このパラメーターは、カスタムタスクでのみ使用できます。このパラメーターを構成する必要はありません。 タスクスケジュール時間 このパラメーターはオプションです。 システムは、[タスクスケジュール時間] パラメーターに指定した時間の後、特定の期間が経過してからタスクを実行します。
タスクを作成した後、システムはタスクを開始しますが、実行時間が経過するまでタスクは実行されません。
- タスクの作成
- [完了] をクリックします。
- タスクを作成した後、IoT Platform は SetDeviceProperty または SetDevicesProperty 操作を呼び出して、指定されたデバイスにプロパティ構成コマンドを送信します。その後、デバイスは IoT Platform に応答を返します。
データ形式 (IoT Platform からデバイスへ)
リクエストとレスポンストピック
カスタム
リクエストトピック:
/sys/${productKey}/${deviceName}/thing/model/down_raw
レスポンストピック:
/sys/${productKey}/${deviceName}/thing/model/down_raw_reply
Alink JSON
リクエストトピック:
/sys/${productKey}/${deviceName}/thing/service/property/set
レスポンストピック:
/sys/${productKey}/${deviceName}/thing/service/property/set_reply
サンプルメッセージ:
{ "id": "123", // メッセージID "version": "1.0", // バージョン "params": { // パラメータ "temperature": "30.5" // 温度の値 }, "method": "thing.service.property.set" // メソッド名 }
params には、ルールファイルの params と同じデータが含まれています。
Alink プロトコルにおける対応する使用上の注意については、「デバイスプロパティを構成する」をご参照ください。
- IoT Platform コンソールで、タスクが属するインスタンスを見つけ、インスタンス名をクリックします。[インスタンスの詳細] ページで、 を選択します。[タスク] ページで、作成したタスクのステータスを含む関連情報を確認できます。重要 タスクが [タイムアウト] 状態の場合、指定されたスケジュールに基づいてタスクを実行できなくなります。
タスクのサブタスクが、タスクの作成後 7 日以内に実行に失敗した場合、タスクは [タイムアウト] 状態になります。
ビジネス要件に基づいて、次の操作のいずれかを実行できます。
- [タスク] ページで、[処理中] 状態のタスクをキャンセルします。
- 管理するタスクを見つけ、[アクション] 列の [表示] をクリックします。タスク詳細ページで、タスク情報とタスク統計を表示します。
タブ 説明 [タスク情報] タスク情報を表示し、タスクの説明とタスク構成を変更し、ルールファイルをダウンロードできます。 [タスクサマリー] ステータス別のサブタスクの統計情報を表示できます。 - 管理するデバイスを見つけ、[表示] をクリックして [デバイスの詳細] ページに移動します。
- [タスク] タブで、デバイスのすべてのタスクを表示できます。
- [デバイスログ] タブで、[表示] をクリックします。[デバイスログ] ページで、[クラウド実行ログ] をクリックします。[クラウド実行ログ] タブで、検索バーのワークロードタイプドロップダウンリストから [クラウドからデバイスへのメッセージ] を選択して、タスク関連のログを表示します。
- サブタスクの実行に失敗した場合、[アクション] 列の [実行の詳細] をクリックして、失敗の原因を表示します。
- サブタスクがタイムアウトしたか、実行に失敗した場合、[ステータス] 列の [タイムアウト] または [失敗] をクリックして、対応する状態のサブタスクを表示します。
[タスク] ページの上部にある [再実行] をクリックして、現在のタスクの [タイムアウト] および [失敗] 状態にあるサブタスクを再実行します。
- 管理するデバイスを見つけ、[表示] をクリックして [デバイスの詳細] ページに移動します。
- タスクの [アクション] 列の [削除] をクリックします。表示されるメッセージで、[OK] をクリックします。警告 タスクを削除すると、タスクに関連するすべてのデータが削除されます。ビジネスタスクアプリケーションがタスクに基づいて実行されている場合、アプリケーションが使用できなくなり、ビジネスに影響を与える可能性があります。注意して進めてください。