ルールエンジンを使用して、デバイスから IoT Platform にメッセージを転送できます。 メッセージはデータ解析スクリプトを使用して処理され、AMQP コンシューマーグループに転送された後、AMQP クライアントによって使用されます。この記事では、データ転送プロセスについて説明します。 この例では、TSL(Thing Specification Language)通信トピックをソース トピックとして使用します。
前提条件
DataSource という名前のデータソースが作成され、TSL 通信トピックがデータソースに追加されます。 詳細については、「データソースを作成する」をご参照ください。
宛先 AMQP コンシューマーグループが作成されます。 詳細については、「コンシューマーグループを作成する」をご参照ください。
データ宛先を作成する
- IoT Platform コンソール にログインします。
[概要] ページで、[すべての環境] をクリックします。 [すべての環境] タブで、管理するインスタンスを見つけ、インスタンス ID またはインスタンス名をクリックします。
- 左側のナビゲーションウィンドウで、 を選択します。
[データ転送] ページの右上隅にある [新しいバージョンに移動] をクリックして、新しいバージョンに移動します。
説明[メッセージ転送] > [データ転送] を選択すると、新しいバージョンの [データ転送] ページが表示されます。
[データ宛先] をクリックします。 [データ宛先] タブで、[データ宛先の作成] をクリックします。
[データ宛先の作成] ダイアログボックスで、データ宛先名を入力します。 この例では、DataPurpose と入力します。 パラメーターを設定し、[OK] をクリックします。
パラメーター
説明
操作の選択
[AMQP サブスクライブ済みコンシューマーグループに公開] を選択します。
コンシューマーグループ
既存のコンシューマーグループをデータ転送先として選択します。 [コンシューマーグループの作成] をクリックして、コンシューマーグループを作成します。
パーサーを設定して起動する
DataParser という名前のパーサーを作成します。 詳細については、「パーサーを作成する」をご参照ください。
[パーサーの詳細] ページで、パーサーを作成済みのデータソースに関連付けます。
ウィザードの [データソース] ステップで、[データソースの関連付け] をクリックします。
表示されるダイアログボックスで、データソース[データソース] ドロップダウンリストから [OK] を選択し、 をクリックします。
[パーサーの詳細] ページで、パーサーを作成済みのデータ宛先に関連付けます。
ウィザードの [データ宛先] をクリックします。 [データ宛先] セクションで、[データ宛先の関連付け] をクリックします。
表示されるダイアログボックスで、データ目的[データ宛先] ドロップダウンリストから [OK] を選択し、 をクリックします。
[データ宛先] セクションで、[データ宛先 ID] を表示して保存します。 この例では、ID は [1000] です。
パーサースクリプトを記述する際は、[データ宛先 ID] を使用する必要があります。
[パーサーの詳細] ページで、[パーサースクリプト] をクリックします。
コードエディタで、スクリプトを入力します。 スクリプトの変更方法については、「スクリプト構文」をご参照ください。
関数パラメーターの詳細については、「関数」をご参照ください。
// payload() 関数を使用して、デバイスから送信されたデータを取得し、JSON 形式を使用してデータを変換します。 var data = payload("json"); // 送信された TSL データを転送します。 writeAmqp(1000, data, "debug");
[デバッグ] をクリックします。 表示されるパネルで、プロダクトとデバイスを選択し、トピックを指定して、ペイロードデータを入力し、スクリプトが想定どおりに実行されるかどうかを確認します。
次の図は、パラメーターを示しています。
次の結果は、スクリプトが実装されていることを示しています。
[公開] をクリックします。
パーサー[データ転送] ページの データパーサー[開始] タブに移動します。 パーサーを見つけ、[アクション] 列の をクリックしてパーサーを起動します。
メッセージを使用するように AMQP クライアントを設定する
データが AMQP コンシューマーグループに転送されると、サーバーは AMQP クライアントを使用してメッセージを使用します。 AMQP クライアントの設定方法の詳細については、「AMQP クライアントを IoT Platform に接続する」をご参照ください。
AMQP クライアント実装のサンプルコードについては、以下のトピックをご参照ください。