すべてのプロダクト
Search
ドキュメントセンター

IoT Platform:Message Queue for Apache RocketMQ へのデータ転送

最終更新日:Mar 27, 2025

ルールエンジンを使用して、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- で始まります。

データ転送先を作成する

  1. IoT Platform コンソール にログインします。
  2. [概要] ページで、[すべての環境] をクリックします。 [すべての環境] タブで、管理するインスタンスを見つけ、インスタンス ID またはインスタンス名をクリックします。

  3. 左側のナビゲーションウィンドウで、[メッセージ転送] > [データ転送] を選択します。
  4. [データ転送] ページの右上隅にある [新しいバージョンに移動] をクリックして、新しいバージョンに移動します。

    説明

    この手順を実行した場合、[メッセージ転送] > [データ転送] を選択すると、新しいバージョンの [データ転送] ページが表示されます。

  5. [データ転送先] をクリックします。 [データ転送先] タブで、[データ転送先を作成] をクリックします。

  6. [データ転送先を作成] ダイアログボックスで、データ転送先名を入力します。 この例では、DataPurpose を使用します。 パラメータを構成し、[OK] をクリックします。

    数据流转到MQ

    パラメータ

    説明

    操作

    [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 ロールの作成」をご参照ください。

パーサーを構成して起動する

  1. DataParser という名前のパーサーを作成します。 詳細については、「パーサーを作成する」をご参照ください。

  2. [パーサーの詳細] ページで、パーサーを作成済みのデータソースに関連付けます。

    1. ウィザードの [データソース] ステップで、[データソースの関連付け] をクリックします。

    2. 表示されるダイアログボックスで、データソース[データソース] ドロップダウンリストから [OK] を選択し、 をクリックします。

  3. [パーサーの詳細] ページで、パーサーを作成済みのデータ転送先に関連付けます。

    1. ウィザードの [データ転送先] をクリックします。 [データ転送先] セクションで、[データ転送先の関連付け] をクリックします。

    2. 表示されるダイアログボックスで、データ目的[データ転送先] ドロップダウンリストから [OK] を選択し、 をクリックします。

    3. [データ転送先] セクションで、[データ転送先 ID] を表示して保存します。 この例では、ID は 1000 です。

      パーサースクリプトを記述するときは、[データ転送先 ID] を使用する必要があります。

  4. [パーサーの詳細] ページで、[パーサースクリプト] をクリックします。

  5. コードエディタで、スクリプトを入力します。 スクリプトの変更方法の詳細については、「スクリプト構文」をご参照ください。

    関数パラメータの詳細については、「関数」をご参照ください。

    // payload() 関数を使用して、デバイスから送信されたデータを取得し、JSON 形式のデータに変換します。
    var data = payload("json");
    // 送信された TSL データを転送します。
    writeMq(1000, data, "debug");
  6. [デバッグ] をクリックします。 表示されるパネルで、プロダクトとデバイスを選択し、トピックを指定して、ペイロードデータを入力し、スクリプトが想定どおりに実行されるかどうかを確認します。

    次の図は、パラメータを示しています。调试示例

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

    调试结果

  7. [公開] をクリックします。

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

  9. Message Queue for Apache RocketMQ コンソール で、メッセージが受信されているかどうかを確認します。