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

IoT Platform:TSDB へのデータ転送

最終更新日:Mar 27, 2025

処理済みデータを Time Series Database (TSDB) に転送して保存するために、データ転送ルールを構成できます。 このトピックでは、データ転送プロセスについて説明します。この例では、Thing Specification Language (TSL) 通信トピックをソース トピックとして使用します。

前提条件

  • TSDB へのデータ転送をサポートするリージョンに、TSDB にデータを転送できる IoT プラットフォーム インスタンスが作成されていること。 詳細については、「リージョン」をご参照ください。

  • DataSource という名前のデータソースが作成され、TSL 通信トピックがデータソースに追加されていること。詳細については、「データソースの作成」をご参照ください。

  • 日本 (東京) リージョンに、仮想プライベートクラウド (VPC) にデプロイされた TSDB インスタンスが作成されていること。詳細については、「TSDB ドキュメント」をご参照ください。

背景情報

データ転送先を構成すると、以下の構成が自動的に完了します。その後、IoT プラットフォームのルールエンジンを使用して、デバイス データを TSDB インスタンスに転送できます。

  • IoT プラットフォームは、TSDB インスタンスが存在する vSwitch の 2 つの IP アドレスを占有します。 vSwitch の IPv4 CIDR ブロックは、TSDB インスタンスのホワイトリストに追加されます。
  • TSDB インスタンスが存在する VPC に、マネージド セキュリティグループが作成されます。セキュリティグループのデフォルト名は、sg-nsm- で始まります。

この例では、以下のデータが TSDB に書き込まれます。

  • タイムスタンプ: timestamp() 関数を使用して、デバイスがデータを送信した時刻を取得します。
  • タグ: deviceName() 関数を使用して DeviceName を取得します。 {"deviceName":deviceName()} タグがデータベースに書き込まれます。
  • メトリック: JSONPath 式を使用して、デバイスから送信された 温度 プロパティと 湿度 プロパティの値を取得します。

制限事項

  • データは、リージョン内でのみ転送できます。たとえば、日本 (東京) リージョンにデプロイされた IoT プラットフォーム インスタンスから、日本 (東京) リージョンにデプロイされた TSDB インスタンスにのみデータを転送できます。
  • VPC にデプロイされた TSDB インスタンスにのみデータを転送できます。
  • JSON 形式でのみデータを転送できます。
  • 転送されたメッセージでは、メトリックタイムスタンプ および タグ値 として構成されたフィールドを除くすべてのフィールドが、メトリック として TSDB に書き込まれます。 パラメータのデータ型は、数値型と文字列型をサポートしています。他のデータ型を使用すると、データベースへのデータの書き込みに失敗する可能性があります。

使用上の注意

データ転送機能の新バージョンまたは旧バージョンを使用して、TSDB にデータを転送することもできます。データ転送機能の旧バージョンの使用方法の詳細については、「TSDB へのデータ転送」をご参照ください。

データ転送先を作成する

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

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

    説明

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

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

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

    パラメータ

    説明

    操作

    [データを TSDB に保存] を選択します。

    リージョン

    IoT プラットフォーム インスタンスが存在するリージョンを指定します。

    TSDB インスタンス

    VPC に作成した TSDB インスタンスを指定します。

    メトリック データ型

    メトリック パラメータのデータ型を指定します。有効な値: [数値型] および [文字列]

    帮助 アイコンをクリックするとヘルプが表示されます。

    ロール

    IoT プラットフォームに TSDB にデータを書き込む権限を付与します。

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

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

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

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

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

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

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

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

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

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

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

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

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

    // payload() 関数を使用して、デバイスから送信されたデータを取得し、JSON 形式のデータに変換します。
    var data = payload("json");
    // 送信された温度と湿度の値をフィルタリングします。
    var h = data.items.Humidity.value;
    var t = data.items.Temperature.value;
    // 送信された TSL データを転送します。
    writeTsdb(1000,timestamp(),"temperature", t , {"deviceName":deviceName()});
    writeTsdb(1000,timestamp(),"humidity", h , {"deviceName":deviceName()});
  6. [デバッグ] をクリックします。表示されるダイアログ ボックスで、プロダクトとデバイスを選択し、トピックを指定して、ペイロード データを入力し、スクリプトが想定どおりに実行されるかどうかを確認します。

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

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

    调试结果

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

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