ルールエンジンのデータ転送機能を使用して、デバイスデータを Simple Message Queue(SMQ、旧称 MNS)Topic に転送できます。ビジネスサーバーはこの Topic をサブスクライブして、デバイスからのメッセージを取得できます。これにより、ビジネスサーバーとデバイス間のパフォーマンス専有型メッセージ伝送が実現します。このトピックでは、データ転送プロセスについて説明します。この例では、TSL(Thing Specification Language)通信 Topic をソース Topic として使用します。
前提条件
SMQ へのデータ転送をサポートするリージョンに、データが SMQ に転送される IoT Platform インスタンスが作成されています。詳細については、「リージョン」をご参照ください。
DataSource という名前のデータソースが作成され、TSL 通信 Topic がデータソースに追加されています。詳細については、「データソースの作成」をご参照ください。
SMQ Topic が作成されています。プッシュタイプ パラメーターが HTTP またはキューに設定されているサブスクリプションが、Topic に対して作成されています。詳細については、「Topic の作成」をご参照ください。
重要Enterprise Edition の IoT Platform インスタンスを使用する場合、SMQ Topic が存在するリージョンは、IoT Platform インスタンスのリージョンと同じである必要があります。
背景情報
データ転送プロセスの詳細については、「SMQ へのデータ転送」Topic の「データ転送プロシージャ」セクションをご参照ください。
使用上の注意
データ転送機能の新バージョンまたは旧バージョンを使用して、データを SMQ に転送できます。旧バージョンのデータ転送機能の使用方法の詳細については、「SMQ へのデータ転送」をご参照ください。
データ転送先の作成
- IoT Platform コンソール にログオンします。
[概要] ページで、[すべての環境] をクリックします。[すべての環境] タブで、管理するインスタンスを見つけ、インスタンス ID またはインスタンス名をクリックします。
- 左側のナビゲーションウィンドウで、 を選択します。
[データ転送] ページの右上隅にある [新しいバージョンに移動] をクリックして、新しいバージョンに移動します。
説明[メッセージ転送] > [データ転送] を選択すると、新しいバージョンの [データ転送] ページが表示されます。
- [データ転送先] タブをクリックします。このタブで、[データ転送先の作成] をクリックします。
[データ転送先の作成] ダイアログボックスで、データ転送先名を入力します。この例では、DataPurpose を使用します。パラメーターを設定し、[OK] をクリックします。
パラメーター
説明
操作
[SMQ にデータを送信] を選択します。
リージョン
SMQ が実行されているリージョンを選択します。
Topic
データを受信するために使用する SMQ Topic を選択します。
SMQ は、受信したメッセージを Topic のサブスクリプションに送信します。サブスクリプションのプッシュタイプ パラメーター値は、HTTP またはキューです。IoT Platform が SMQ にプッシュするメッセージは、HTTP またはキューメソッドのみでサブスクライブできます。
SMQ コンソールで SMQ Topic とサブスクリプションを作成するには、[topic の作成] をクリックします。詳細については、SMQ ドキュメントをご参照ください。
ロール
IoT Platform に SMQ へのデータ書き込みを承認します。
Resource Access Management(RAM)ロールがない場合は、[RAM ロールの作成] をクリックして RAM コンソールに移動し、RAM ロールを作成して、そのロールに権限を付与します。詳細については、「RAM ロールの作成」をご参照ください。
パーサーの設定と起動
DataParser という名前のパーサーを作成します。詳細については、「パーサーの作成」をご参照ください。
[パーサーの詳細] ページで、パーサーを作成済みのデータソースに関連付けます。
ウィザードの [データソース] ステップで、[データソースの関連付け] をクリックします。
表示されるダイアログボックスで、データソース[データソース] ドロップダウンリストから [OK] を選択し、 をクリックします。
[パーサーの詳細] ページで、パーサーを作成済みのデータ転送先に関連付けます。
ウィザードの [データ転送先] をクリックします。[データ転送先] セクションで、[データ転送先の関連付け] をクリックします。
表示されるダイアログボックスで、データ目的[データ転送先] ドロップダウンリストから [OK] を選択し、 をクリックします。
[データ転送先] セクションで、[データ転送先 ID] を表示して保存します。この例では、ID は [1000] です。
パーサースクリプトを記述する際は、[データ転送先 ID] を使用する必要があります。
- [パーサーの詳細] ページで、[パーサー] をクリックします。
コードエディタにスクリプトを入力します。スクリプトの変更方法の詳細については、「スクリプト構文」をご参照ください。
関数パラメーターの詳細については、「関数」をご参照ください。
// payload() 関数を使用して、デバイスから送信されたデータを取得し、JSON 形式のデータに変換します。 var data = payload("json"); // 送信された TSL データを転送します。 writeMns(1000, data);[デバッグ] をクリックします。表示されるダイアログボックスで、プロダクトとデバイスを選択し、Topic を指定して、ペイロードデータを入力し、スクリプトが想定どおりに実行されるかどうかを確認します。
次の図は、パラメーターを示しています。

次の結果は、スクリプトが想定どおりに実行されたことを示しています。

- [公開] をクリックします。
パーサー[データ転送] ページの データパーサー[開始] タブに移動します。 パーサーを見つけ、[アクション] 列の をクリックしてパーサーを起動します。