全部產品
Search
文件中心

IoT Platform:設定資料流轉規則

更新時間:Jun 30, 2024

通過規則引擎的雲產品流轉功能,物聯網平台可將指定Topic的資料流轉至其他的Topic和阿里雲產品中。本文將為您介紹設定資料流轉規則的完整操作步驟,依次是建立規則、編寫處理資料的SQL、設定資料流轉目的地、設定流轉失敗的資料轉寄目的地。

操作步驟

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

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

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

  4. 雲產品流轉頁面,單擊建立規則

    重要

    若當前頁面顯示新版功能,先單擊右上方返回舊版,進入舊版功能頁面,再單擊建立規則

  5. 填寫參數後,單擊確認

    參數

    描述

    規則名稱

    輸入規則名稱。支援中文、英文字母、日文、數字、底線(_)和短劃線(-),長度為1~30個字元,一個中文或日文佔2個字元。

    資料格式

    選擇該規則處理資料的格式。可選:JSON二進位

    說明
    • 因資料流轉基於Topic處理資料,此處的資料格式需與被處理Topic中的資料格式保持一致。

    • 若選擇為二進位,該規則不能處理基礎通訊Topic、物模型通訊Topic的訊息,且不能將資料轉寄至Table Store和雲資料庫RDS版。

    規則描述

    規則描述資訊。

  6. 規則建立成功後,將跳轉到資料流轉規則頁面。您需編輯處理訊息資料的SQL、設定資料轉寄目的地、流轉失敗資料轉寄目的地。

    1. 單擊編寫SQL,編寫處理訊息欄位的SQL。

      SQL編寫方法,可參見SQL運算式函數列表

      參數

      描述

      規則查詢語句

      系統會在這裡,根據您設定的欄位Topic條件自動補充完整規則查詢語句。

      欄位

      指定要處理的訊息內容欄位,即SQL中SELECT後的內容。

      例如,填入deviceName() as deviceName,則表示需篩選出訊息中的deviceName欄位內容。欄位中可使用的函數,請參見函數列表

      說明

      基礎通訊Topic、物模型通訊Topic中的資料為Alink JSON格式,流轉到規則引擎前,會經過物模型解析,具體說明,請參見資料流轉過程。解析後的資料格式,請參見資料格式。編寫SQL欄位時,需按照解析後的資料格式來編寫。

      Topic

      選擇需要處理的訊息Topic,即SQL中FROM後的內容。可選Topic,請參見下表《Topic說明》

      重要

      當規則的資料格式二進位時,僅支援選擇自訂

      條件

      設定規則引發條件,即SQL中WHERE後的內容。

      表 1. Topic說明

      Topic

      說明

      相關文檔

      自訂

      流轉自訂資料格式訊息的Topic,與自訂Topic的格式相同。格式為:/${productKey}/${deviceName}/user/${TopicShortName}

      其中${TopicShortName}為自訂的Topic類,即自訂Topic的尾碼。

      支援使用萬用字元(+)和(#):

      • 全部裝置(+):指定產品下所有裝置。

      • /user/#:指定裝置的所有自訂Topic。

      使用自訂Topic通訊

      裝置狀態變化通知

      流轉裝置上下線狀態變更訊息的Topic:/as/mqtt/status/${productKey}/${deviceName}

      裝置上下線狀態

      物模型資料上報

      包含:

      • 流轉裝置上報屬性資料的Topic:/${productKey}/${deviceName}/thing/event/property/post

      • 流轉裝置上報事件數目據的Topic:/${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/post

      • 流轉裝置批量上報屬性資料的Topic:/${productKey}/${deviceName}/thing/property/batch/post

      • 流轉裝置批量上報事件數目據的Topic:/${productKey}/${deviceName}/thing/event/batch/post

      • 流轉裝置響應雲端命令返回訊息的Topic:/${productKey}/${deviceName}/thing/downlink/reply/message

      對應裝置上報未經處理資料的Topic如下:

      • 裝置上報屬性的Topic:/sys/${productKey}/${deviceName}/thing/event/property/post

      • 裝置上報事件的Topic:/sys/${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/post/sys/${productKey}/${deviceName}/thing/event/${tsl.functionBlockId}:{tsl.event.identifier}/post

      • 裝置批量上報屬性、事件數目據的Topic:/sys/${productKey}/${deviceName}/thing/event/property/batch/post

      裝置生命週期變更

      流轉裝置建立、刪除、禁用、啟用等訊息的Topic:/${productKey}/${deviceName}/thing/lifecycle

      裝置生命週期變更

      網關發現子裝置上報

      網關裝置特有的Topic:/${productKey}/${deviceName}/thing/list/found,將發現的子裝置資訊上報給物聯網平台,然後進行流轉。

      網關發現子裝置

      裝置拓撲關係變更

      網關裝置特有Topic:/${productKey}/${deviceName}/thing/topo/lifecycle,流轉子裝置和網關之間的拓撲關係建立和解除訊息的Topic。

      裝置拓撲關係變更

      對應裝置上報未經處理資料的Topic:/sys/${productKey}/${deviceName}/thing/topo/change

      通知網關拓撲關係變化

      裝置標籤變更

      流轉裝置標籤資訊變更的Topic:/${productKey}/${deviceName}/thing/deviceinfo/update

      裝置標籤變更

      對應裝置上報未經處理資料的Topic:/sys/${productKey}/${deviceName}/thing/deviceinfo/update

      上報標籤資訊

      物模型歷史資料上報

      包含:

      • 流轉裝置上報歷史屬性資料的Topic:/${productKey}/${deviceName}/thing/event/property/history/post

      • 流轉裝置上報歷史事件數目據的Topic:/${productKey}/${deviceName}/thing/event/${tsl.event.identifier}/history/post

      對應裝置上報物模型歷史資料的Topic:/sys/${productKey}/${deviceName}/thing/event/property/history/post

      物模型歷史資料上報

      OTA升級裝置狀態通知

      包含:

      • 流轉裝置上報OTA升級結果的Topic:/${productKey}/${deviceName}/ota/upgrade

      • 流轉裝置上報OTA升級進度的Topic:/${productKey}/${deviceName}/ota/progress/post

      對應裝置上報升級進度的Topic:/ota/device/progress/${productKey}/${deviceName}

      裝置上報升級進度

      OTA模組版本號碼上報

      流轉裝置上報OTA模組版本號碼變更的Topic:/${productKey}/${deviceName}/ota/version/post

      OTA模組版本號碼變更通知

      對應裝置上報OTA模組版本的Topic:/ota/device/inform/${productKey}/${deviceName}

      裝置上報OTA模組版本

      OTA升級批次狀態通知

      物聯網平台通知OTA升級批次狀態變化的Topic:/${productKey}/${packageId}/${jobId}/ota/job/status

      OTA升級批次狀態通知

      任務事件

      流轉執行個體遷移任務狀態通知的Topic:/sys/uid/${uid}/distribution/${jobId}/lifecycle

      說明

      遷移產品的名稱為執行個體遷移的任務名稱。

      執行個體遷移任務的狀態通知

    2. 單擊轉寄資料一欄的添加操作,設定資料轉寄目的地。資料轉寄配置的具體樣本,請參見資料流轉使用樣本目錄下的具體文檔。

      說明

      最多可為一個規則建立10個資料轉寄操作。

      資料轉寄時,因選擇的資料目的地(雲產品)出現異常情況導致轉寄失敗時:

      • 轉寄到RocketMQ、RDS、TSDB等類型的雲產品時,若雲產品資源變化導致雲產品無法訪問,系統將停止執行轉寄,並在規則列表中顯示狀態為規則異常。您需要重新設定資料轉寄目的地。

      • 其他異常情況,系統將間隔1秒、3秒、10秒進行3次重試(重試策略可能會調整)。3次重試均失敗後,訊息會被丟棄。如果您對訊息可靠性要求比較高,可以進行:添加錯誤操作,將重試失敗的訊息,轉寄到其他雲產品中。

    3. 單擊轉寄錯誤操作資料一欄的添加錯誤操作,設定參數,將重試失敗的錯誤訊息轉寄至指定位置。

      重要
      • 最多支援添加一個錯誤操作。

      • 正常操作和錯誤操作的轉寄目的地不能是相同的雲產品。例如,不能同時轉寄到Table Store。

      • 錯誤訊息轉寄失敗後,不會再進行重試。

      • 這裡的錯誤訊息僅針對因其他雲產品執行個體問題導致的規則引擎轉寄失敗錯誤。

      訊息轉寄至雲產品失敗後,會進行重試。若重試失敗,將根據錯誤操作資料轉寄的設定轉寄錯誤訊息。

      錯誤訊息格式:

      {
         "ruleName":"",
         "topic":"",
         "productKey":"",
         "deviceName":"",
         "messageId":"",
         "base64OriginalPayload":"",
         "failures":[
          {
           "actionType":"OTS",
           "actionRegion":"cn-shanghai",
           "actionResource":"table1",
           "errorMessage":""
          },
          {
           "actionType":"RDS",
           "actionRegion":"cn-shanghai",
           "actionResource":"instance1/table1",
           "errorMessage":""
          }
         ]
      }

      錯誤訊息參數說明如下:

      參數

      說明

      ruleName

      規則名稱。

      topic

      訊息來源Topic。

      productKey

      產品ProductKey。

      deviceName

      裝置名稱。

      messageId

      雲端訊息ID。

      base64OriginalPayload

      Base64編碼後的未經處理資料。

      failures

      錯誤詳情。可能會有多個。

      actionType

      出錯操作的類型。

      actionRegion

      出錯操作的地區。

      actionResource

      出錯操作的目的資源。

      errorMessage

      錯誤資訊。

  7. 所有設定完成後,返回至雲產品流轉頁面,單擊規則對應的啟動。規則啟動後,資料即可按照規則進行轉寄。

    您也可以單擊以下操作:

    操作

    說明

    查看

    資料流轉規則頁面,更新規則的具體設定。例如,修改或刪除資料來源Topic、資料轉寄的目的地。

    刪除

    刪除對應規則。

    重要

    運行中的規則不可刪除。

    停止

    停止對應規則轉寄資料。

    警告

    刪除、停止規則,或刪除資料轉寄目的地成功後,如果使用者在其他業務中使用了流轉的裝置資料,會導致服務不可用或影響使用者的業務。請謹慎操作。

後續步驟

您在對應資料流轉規則頁面查看資料目的對應狀態,確認資料目的是否配置完成,或資料流轉至資料目是否正常等。資料目的