全部產品
Search
文件中心

IoT Platform:資料轉寄到時序資料庫(TSDB)

更新時間:Jun 30, 2024

您可以配置資料流轉規則,將處理過的資料轉寄到時序資料庫(TSDB)的中。本文以物模型資料上報Topic為例,介紹流轉訊息資料的完整流程。

前提條件

  • 已確認當前物聯網平台執行個體及所在地區支援將資料轉寄到時序資料庫(TSDB)。

  • 已添加待轉寄的裝置Topic資料來源。例如:建立資料來源DataSource,添加指定裝置的物模型資料上報Topic。具體步驟,請參見添加待流轉的資料來源

  • 已在日本(東京)地區建立專用網路下的TSDB執行個體。詳細內容,請參見時間序列資料庫TSDB文檔

背景資訊

轉寄的資料目的配置完成後,會自動完成以下配置,實現裝置資料通過物聯網平台的規則引擎轉寄到時序資料庫(TSDB)。

  • 物聯網平台佔用TSDB執行個體所在虛擬交換器的2個IP地址;將虛擬交換器的IPv4網段配置到TSDB執行個體的白名單中。
  • 在TSDB執行個體所在的VPC網路下建立託管安全性群組,安全性群組名稱預設以sg-nsm-開頭。

本文樣本中,寫入時序資料庫的資料如下:

  • timestamp:使用函數timestamp()擷取裝置上報資料的目前時間。
  • tag:使用函數deviceName()擷取裝置名稱,寫入標籤{"deviceName":deviceName()}
  • metric:使用JSONPath方法,擷取裝置上報的物模型屬性TemperatureHumidity的值,分別寫入溫、濕度的時序資料。

限制說明

  • 僅支援同地區轉寄。例如:日本(東京)的物聯網平台執行個體資料只能轉寄到日本(東京)的TSDB執行個體中。
  • 僅支援轉寄到Virtual Private Cloud下的TSDB執行個體。
  • 僅支援轉寄JSON格式資料。
  • 轉寄的訊息中,除了配置為timestamptag值的欄位外,其他欄位都將作為metric寫入時序資料庫。metric的資料類型支援數值型、字串,其他類型會導致寫入資料庫失敗。

使用說明

目前,新版和舊版雲產品流轉功能均支援將資料流轉到時序資料庫(TSDB)。舊版雲產品流轉使用樣本,請參見舊版:資料轉寄到時序資料庫(TSDB)

建立資料目的

  1. 登入物聯網平台控制台

  2. 執行個體概覽頁簽的全部環境下,找到對應的執行個體,單擊執行個體卡片。

  3. 在左側導覽列,選擇訊息轉寄 > 雲產品流轉

  4. 雲產品流轉頁面,單擊右上方體驗新版,進入新版功能頁面。

    說明

    如果您已執行過此操作,再次進入雲產品流轉頁面,會直接進入新版功能頁面。

  5. 單擊資料目的頁簽,然後單擊建立資料目的

  6. 建立資料目的對話方塊,輸入資料目的名稱,例如DataPurpose,按照以下參數說明,完成配置,然後單擊確定

    參數

    描述

    選擇操作

    選擇儲存到時序資料庫(TSDB)中

    地區

    與您的物聯網平台執行個體所在地區一致。

    TSDB執行個體

    選擇資料轉寄目的為您已建立的Virtual Private Cloud下的TSDB執行個體。

    metric資料類型

    選擇metric的資料類型。支援數值型字串

    更多資訊,可單擊協助按鈕協助查看。

    角色

    授權物聯網平台將資料寫入TSDB。

配置並啟動解析器

  1. 建立解析器,例如DataParser。具體操作,請參見步驟一:建立解析器

  2. 解析器詳情頁面,關聯資料來源。

    1. 在設定精靈的資料來源下,單擊關聯資料來源

    2. 在彈出的對話方塊中,單擊資料來源下拉式清單,選擇已建立的資料來源DataSource,單擊確定

  3. 解析器詳情頁面,關聯資料目的。

    1. 單擊設定精靈的資料目的,然後單擊資料目的列表右上方的關聯資料目的

    2. 在彈出的對話方塊中,單擊資料目的下拉式清單,選擇已建立的資料目的DataPurpose,單擊確定

    3. 在資料目的列表,查看並儲存資料目的ID,例如為1000

      後續解析指令碼中,需使用此處的資料目的ID

  4. 解析器詳情頁面,單擊解析器

  5. 在指令碼輸入框,輸入解析指令碼。

    函數參數說明,請參見函數列表

    //通過payload函數,擷取裝置上報的訊息內容,並按照JSON格式轉換。
    var data = payload("json");
    //篩選出上報的溫濕度值。
    var h = data.items.Humidity.value;
    var t = data.items.Temperature.value;
    //直接流轉物模型上報資料。
    writeTsdb(1000,timestamp(),"temperature", t , {"deviceName":deviceName()});
    writeTsdb(1000,timestamp(),"humidity", h , {"deviceName":deviceName()});
  6. 單擊調試,根據頁面提示,選擇產品和裝置,輸入Topic和Payload資料,驗證指令碼可執行。

    參數樣本如下:樣本

    運行結果如下,表示指令碼執行成功。

    調試結果

  7. 單擊發布

  8. 回到雲產品流轉頁面的解析器頁簽,單擊解析器DataParser對應的啟動按鈕,啟動解析器。