ルールエンジンを使用して、IoT Platform から Message Queue for Apache RocketMQ にデータを転送して保存できます。 これにより、デバイスから IoT Platform、Message Queue for Apache RocketMQ、およびアプリケーションサーバへの高信頼性データ転送が保証されます。 このトピックでは、データ転送プロセスについて説明します。 この例では、TSL(Thing Specification Language)通信トピックをソース トピックとして使用します。
前提条件
Message Queue for Apache RocketMQ へのデータ転送をサポートするリージョンに、データが Message Queue for Apache RocketMQ に転送される IoT Platform インスタンスが作成されていること。 Message Queue for Apache RocketMQ へ 詳細については、「リージョン」をご参照ください。
DataSource という名前のデータソースが作成され、TSL 通信トピックがデータソースに追加されていること。 詳細については、「データソースを作成する」をご参照ください。
データを受信するために使用できる ApsaraMQ for RocketMQ インスタンスとトピックが作成されていること。 詳細については、「ApsaraMQ for RocketMQ を使用する」をご参照ください。
重要ApsaraMQ for RocketMQ インスタンスは、データ転送ルールを構成する IoT Platform インスタンスと同じリージョンに存在する必要があります。 この制限は、異なるリージョンのインスタンス間でデータを転送するために使用される既存のデータ転送ルールには適用されません。
ApsaraMQ for RocketMQ V4.x インスタンスまたは V5.x インスタンスのトピックにのみデータを転送できます。
使用上の注意
データ転送機能の新バージョンまたは旧バージョンを使用して、Message Queue for Apache RocketMQ にデータを転送できます。 旧バージョンのデータ転送機能の使用方法の詳細については、「ApsaraMQ for RocketMQ にデータを転送する」をご参照ください。
データ転送先を構成するときに「ApsaraMQ for RocketMQ にデータを送信」を指定すると、次の設定が自動的に構成されます。 構成が完了すると、IoT Platform のルールエンジンを使用して、デバイスデータを ApsaraMQ for RocketMQ V5.0 インスタンスに転送できます。
ApsaraMQ for RocketMQ インスタンスが接続されている vSwitch の 2 つの IP アドレスが IoT Platform に割り当てられます。
ApsaraMQ for RocketMQ インスタンスが存在する VPC(仮想プライベートクラウド)に、マネージド セキュリティグループが作成されます。 デフォルトでは、セキュリティグループの名前は sg-nsm- で始まります。
データ転送先を作成する
- IoT Platform コンソール にログインします。
[概要] ページで、[すべての環境] をクリックします。 [すべての環境] タブで、管理するインスタンスを見つけ、インスタンス ID またはインスタンス名をクリックします。
- 左側のナビゲーションウィンドウで、 を選択します。
[データ転送] ページの右上隅にある [新しいバージョンに移動] をクリックして、新しいバージョンに移動します。
説明この手順を実行した場合、[メッセージ転送] > [データ転送] を選択すると、新しいバージョンの [データ転送] ページが表示されます。
[データ転送先] をクリックします。 [データ転送先] タブで、[データ転送先を作成] をクリックします。
[データ転送先を作成] ダイアログボックスで、データ転送先名を入力します。 この例では、DataPurpose を使用します。 パラメータを構成し、[OK] をクリックします。

パラメータ
説明
操作
[apsaramq For Rocketmq にデータを送信] を選択します。
リージョン
ApsaraMQ for RocketMQ インスタンスが存在するリージョンを選択します。
インスタンス
ApsaraMQ for RocketMQ インスタンスを選択します。
[インスタンスの作成] をクリックして ApsaraMQ for RocketMQ コンソールに移動し、ApsaraMQ for RocketMQ インスタンスを作成できます。 詳細については、ApsaraMQ for RocketMQ ドキュメント を参照してください。
トピック
IoT Platform からデータを受信するために使用する ApsaraMQ for RocketMQ トピックを選択します。
[トピックの作成] をクリックして ApsaraMQ for RocketMQ コンソールに移動し、ApsaraMQ for RocketMQ トピックを作成できます。
権限の付与
IoT Platform に ApsaraMQ for RocketMQ にデータを書き込む権限を付与します。
RAM(Resource Access Management)ロールがない場合は、[RAM ロールの作成] をクリックして RAM コンソールに移動し、RAM ロールを作成して、そのロールに権限を付与します。 詳細については、「RAM ロールの作成」をご参照ください。
パーサーを構成して起動する
DataParser という名前のパーサーを作成します。 詳細については、「パーサーを作成する」をご参照ください。
[パーサーの詳細] ページで、パーサーを作成済みのデータソースに関連付けます。
ウィザードの [データソース] ステップで、[データソースの関連付け] をクリックします。
表示されるダイアログボックスで、データソース[データソース] ドロップダウンリストから [OK] を選択し、 をクリックします。
[パーサーの詳細] ページで、パーサーを作成済みのデータ転送先に関連付けます。
ウィザードの [データ転送先] をクリックします。 [データ転送先] セクションで、[データ転送先の関連付け] をクリックします。
表示されるダイアログボックスで、データ目的[データ転送先] ドロップダウンリストから [OK] を選択し、 をクリックします。
[データ転送先] セクションで、[データ転送先 ID] を表示して保存します。 この例では、ID は 1000 です。
パーサースクリプトを記述するときは、[データ転送先 ID] を使用する必要があります。
[パーサーの詳細] ページで、[パーサースクリプト] をクリックします。
コードエディタで、スクリプトを入力します。 スクリプトの変更方法の詳細については、「スクリプト構文」をご参照ください。
関数パラメータの詳細については、「関数」をご参照ください。
// payload() 関数を使用して、デバイスから送信されたデータを取得し、JSON 形式のデータに変換します。 var data = payload("json"); // 送信された TSL データを転送します。 writeMq(1000, data, "debug");[デバッグ] をクリックします。 表示されるパネルで、プロダクトとデバイスを選択し、トピックを指定して、ペイロードデータを入力し、スクリプトが想定どおりに実行されるかどうかを確認します。
次の図は、パラメータを示しています。

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

[公開] をクリックします。
パーサー[データ転送] ページの データパーサー[開始] タブに移動します。 パーサーを見つけ、[アクション] 列の をクリックしてパーサーを起動します。
Message Queue for Apache RocketMQ コンソール で、メッセージが受信されているかどうかを確認します。