配置解析器

更新時間:
Copy as MD

雲產品流轉功能通過配置資料流轉解析器關聯資料來源(裝置Topic訊息)和資料目的(其他Topic、商務服務器或其他阿里雲產品),使用解析指令碼實現裝置訊息轉寄。本文介紹設定資料流轉解析器的完整操作步驟,依次是建立解析器、關聯資料來源和資料目的、配置流轉資料的解析指令碼。

工作原理

在物聯網平台配置雲產品流轉的資料解析器,實現資料來源(裝置訊息)轉寄至資料目(另一個Topic、AMQP服務端或其他阿里雲產品),實現裝置與裝置、裝置與伺服器、裝置與阿里雲產品的通訊。

前提條件

已添加資料來源和資料目的,請參見:

使用限制

  • 一個執行個體最多建立解析器數為1,000。

  • 一個解析器最多關聯1個資料來源。

  • 一個解析器最多關聯10個資料目的。

  • 一個解析器最多關聯1個異常資料目的。

  • 一個解析器的指令碼內容最大120 KB。

  • 一個解析器的指令碼中迴圈執行流轉函數的最大次數為100。

新增解析器

步驟一:建立解析器

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

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

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

  4. 雲產品流轉頁面,單擊右上方體驗新版,進入新版功能頁面。
    說明 如果您已執行過此操作,再次進入雲產品流轉頁面,會直接進入新版功能頁面。
  5. 解析器頁簽,單擊建立解析器

  6. 配置解析器名稱解析器描述內容,單擊確定

    解析器名稱支援中文、英文字母、日文、數字、底線(_)和短劃線(-),長度為1~30個字元,一個中文及日文佔2個字元

    根據頁面提示,可直接進入解析器詳情頁面。您可單擊右上方編輯,修改解析器名稱和描述。

步驟二:關聯資料來源和資料目的

  1. 解析器詳情頁面,單擊關聯資料來源

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

    彈窗提示:資料來源中配置的所有 Topic 的訊息都會流轉到解析器中進行處理;一個解析器只能關聯一個資料來源。如需建立,可單擊下拉框下方的建立資料來源連結。

  3. 解析器詳情頁面,單擊資料目的

    頁面顯示資料目的地區和異常資料目的地區,每個地區包含資料目的名稱、資料目的 ID、資料目的類型等列,單擊右上方關聯資料目的按鈕可添加資料目的。

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

    對話方塊提示:解析器處理後的資料只能流轉到已關聯的資料目的中,可通過指令碼進行控制;最多可關聯10個資料目的。若未建立資料目的,可單擊建立資料目的連結進行建立。

  5. 單擊異常資料目的下的關聯資料目的,將重試失敗的錯誤訊息轉寄至指定位置。

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

    • 正常操作和錯誤操作的轉寄目的地不能是相同的雲產品。例如,不能同時轉寄到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

    錯誤資訊。

步驟三:配置解析指令碼並啟動解析器

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

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

    指令碼編輯方法,請參見指令碼樣本資料轉寄函數和指令碼的使用樣本,請參見資料流轉使用樣本目錄下的具體文檔。

  3. 單擊調試,根據頁面提示,選擇產品和裝置,輸入TopicPayload資料,驗證指令碼可執行。

    • Topic:輸入的Topic,其資料格式與指令碼解析邏輯相符即可。

    • Payload資料:輸入資料的格式需符合規則引擎的資料格式。其中:

      • 自訂Topic資料的格式,是裝置上報的未經處理資料格式。

      • 基礎通訊Topic和物模型通訊Topic資料的格式說明,請參見資料格式

    運行結果中會顯示指令碼中聲明的變數值和執行的資料流轉函數。

    調試成功後,會直接將調試資料寫入對應雲產品。您可登入對應雲產品控制台,查看流轉的資料。

  4. 單擊發布

  5. 所有設定完成後,返回至雲產品流轉頁面的解析器頁簽,單擊解析器對應的啟動。解析器啟動後,資料即可按照解析指令碼進行轉寄。

匯入舊規則

您可根據業務需求,直接匯入舊版中已配置的流轉規則,再重新設定資料來源、資料目的和解析指令碼。匯入舊規則步驟如下:

  1. 解析器頁簽,單擊匯入舊規則

    在彈出的 匯入舊規則 面板中,通過搜尋方塊輸入規則名稱篩選規則,勾選需要匯入的舊規則,然後單擊 確定

  2. 在右側面板的規則列表中,選中需要匯入的規則,單擊確定

    舊規則匯入後,會顯示在解析器列表中,且以“connector_”+${舊規則名稱}重新命名。

    您可根據業務需求,在解析器詳情頁面,修改解析器名稱,重新設定資料來源、資料目的和解析指令碼。

    重要

    裝置標籤值(value)為String類型,attribute() 函數返回結果為String類型,如果您需要使用返回結果做數學計算,請手動進行資料類型轉換。

可選操作

您也在雲產品流轉頁面的解析器頁簽,執行以下操作:

警告

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

  • 查看:在解析器詳情頁面,更新解析器的具體設定,查詢解析器的作業記錄。例如,修改或刪除資料來源Topic、資料轉寄的目的地。

    說明

    僅支援查看運行中的解析器日誌。您可在解析器詳情頁面,單擊解析器狀態右側的查看日誌,即可跳轉到Log Service頁面,查詢解析器的作業記錄。

  • 刪除:刪除對應解析器。

    重要

    運行中的解析器不可刪除。

  • 停止:停止對應解析器轉寄資料。

相關文檔

  • 裝置接入物聯網平台上報資料的操作指導,請參見裝置接入引導

  • 裝置接入物聯網平台並上報資料後,可在物聯網平台控制台對應執行個體下,查看裝置訊息轉寄日誌。詳細內容,請參見雲端作業記錄

  • 物聯網平台執行個體下裝置訊息轉寄的使用限制,請參見使用限制

相關API

API

描述

AttachParserDataSource

為解析器關聯指定資料來源。

ListParserDestination

查詢指定解析器關聯的資料目的列表。

DetachParserDataSource

刪除解析器中的指定資料來源。

AttachDestination

為解析器關聯指定資料目的。

DetachDestination

刪除解析器中的指定資料目的。

SaveScript

編輯並儲存解析器的指令碼草稿。

PublishScript

發布指定解析器中的指令碼。

StartParser

啟動解析器。

StopParser

停止解析器運行。

常見問題