您可以配置數據流轉規則,將處理過的數據轉發到時序數據庫(TSDB)的實例中存儲。本文介紹將數據流轉到數據目的地的完整流程。
前提條件
已確認當前物聯網平臺實例及所在地域支持將數據轉發到時序數據庫(TSDB)。支持的地域詳細信息,請參見各地域功能說明。
- 已在華東2(上海)地域創建專有網絡下的TSDB實例。詳細內容,請參見時序數據庫(TSDB)文檔。重要 時序數據庫(TSDB)實例于2022年04月06日停止新購,建議您將數據流轉到時序數據庫(Lindorm)。使用方法,請參見數據轉發到時序數據庫(Lindorm)。
對于2022年04月06日(不包含)前已經購買的TSDB實例支持正常續費和升配。
- 已創建數據轉發規則和編寫處理數據的SQL。具體操作,請參見設置數據流轉規則。
背景信息
轉發的數據目的配置完成后,會自動完成以下配置,實現設備數據通過物聯網平臺的規則引擎轉發到時序數據庫(TSDB)。
- 物聯網平臺占用TSDB實例所在虛擬交換機的2個IP地址;將虛擬交換機的IPv4網段配置到TSDB實例的白名單中。
- 在TSDB實例所在的VPC網絡下創建托管安全組,安全組名稱默認以sg-nsm-開頭。
限制說明
- 僅支持同地域轉發。例如:華東2(上海)的物聯網平臺實例數據只能轉發到華東2(上海)的TSDB實例中。
- 僅支持轉發到專有網絡(VPC)下的TSDB實例。
- 僅支持轉發JSON格式數據。
- 轉發的消息中,除了配置為timestamp和tag值的字段外,其他字段都將作為metric寫入時序數據庫。metric的數據類型支持數值型、字符串,其他類型會導致寫入數據庫失敗。
使用說明
目前,新版和舊版云產品流轉功能均支持將數據流轉到時序數據庫(TSDB)。新版云產品流轉使用示例,請參見新版:數據轉發到時序數據庫(TSDB)。
操作步驟
- 登錄物聯網平臺控制臺。
在實例概覽頁簽的全部環境下,找到對應的實例,單擊實例卡片。
- 在左側導航欄,選擇 。
- 單擊規則對應的查看,進入數據流轉規則頁面。重要 若當前頁面為云產品流轉新版頁面,需先單擊右上角返回舊版,再單擊目標規則對應的查看。
- 單擊轉發數據一欄對應的添加操作。
- 在添加操作對話框中,選擇操作為存儲到時序數據庫(TSDB)中。按照界面提示,設置其他信息,單擊確認。
參數 描述 選擇操作 選擇存儲到時序數據庫(TSDB)中。 地域 固定為您的物聯網平臺實例所在地域:華東2(上海)。 TSDB實例 選擇數據轉發目標為您已創建的專有網絡(VPC)下的TSDB實例。 metric數據類型 選擇metric的數據類型。支持數值型和字符串。 更多信息,可單擊幫助按鈕查看。
timestamp 時間戳。支持: - 使用轉義符
${}
表達式,例如${time}
,表示取值為數據源Topic消息中time字段對應的值。 - 使用數據流轉函數
timestamp()
,表示取值為數據流轉服務器的時間戳。 - 輸入值,必須為Unix時間戳,例如1404955893000。
tag名稱 設置標記數據的標簽名。支持中文漢字、英文字母、數字和特殊字符,包括:半角冒號(:)、逗號(,)、英文句號(.)、單引號(')、正斜線(/)、短劃線(-)、下劃線(_)、圓括號(())、方括號([])。 tag值 設置標簽值。支持: - 使用轉義符
${}
表達式。例如,數據源Topic的消息結構中,包含一個位置屬性,標識符為city,則可以指定標簽值為${city}
,表示消息中city字段對應的值。建議使用此方式。 - 使用數據流轉函數規定的一些函數,例如
deviceName()
,表示標簽值為設備名稱。支持的函數,請參見函數列表。 - 輸入常量,例如beijing。支持輸入中文漢字、英文字母、數字和特殊字符,包括:半角冒號(:)、逗號(,)、英文句號(.)、單引號(')、正斜線(/)、短劃線(-)、下劃線(_)、圓括號(())、方括號([])。
說明- 最多可添加8個tag名稱、tag值。
- 需保證TSDB能夠獲取到配置的tag名稱和值,如果獲取不到任意一個tag的名稱和值,會導致寫入數據庫失敗。
角色 授權物聯網平臺將數據寫入TSDB。 - 使用轉義符
- 回到云產品流轉頁,單擊規則對應的啟動按鈕啟動規則。
數據流轉示例
示例規則的SQL:
SELECT time,city,power,distance FROM "/alprodu****/myDevice/user/update";
規則引擎根據SQL處理數據和寫入數據到TSDB如下。
- 根據該SQL,規則引擎從Topic
/alprodu****/myDevice/user/update
的消息中,篩選出time、city、power、和distance字段內容,作為轉發的消息內容。通過以上SQL處理后的轉發消息內容示例如下:
{ "time": 1513677897, "city": "beijing", "distance": 8545, "power": 93.0 }
- 根據已配置的數據流轉操作,規則引擎向TSDB中寫入的兩條數據。
示例中寫入TSDB的數據如下:
數據: timestamp:1513677897, [metric:power value:93.0] tag: cityName=beijing
數據: timestamp:1513677897, [metric:distance value:8545] tag: cityName=beijing
寫入TSDB的數據說明:
以上轉發的消息中,除了配置為timestamp的time字段和配置為tag值的city字段外,其他字段(power和distance)都作為metric寫入時序數據庫。
操作樣例
文檔內容是否對您有幫助?