全部產品
Search
文件中心

IoT Platform:資料轉寄到Message Service(MNS)

更新時間:Oct 25, 2024

當需要對裝置資料進行複雜或精細化處理,且單個產品下所有裝置或指定裝置的訊息量小於1,000 QPS時,可以使用雲產品流轉功能將物聯網平台資料轉寄到Simple Message Queue (formerly MNS) (SMQ)中,服務端再從Message Service主題中訂閱訊息,實現裝置端與服務端之間高效能的訊息閉環傳輸。本文以物模型資料上報Topic為例,介紹流轉訊息資料的完整流程。

工作原理

雲產品流轉可將同一產品所有裝置或指定裝置的指定Topic訊息,即時轉寄到MNS隊列已訂閱的主題中。

在上圖中:

使用限制

  • 物聯網平台執行個體及所在地區支援將資料轉寄到Message Service(MNS)。支援的地區詳細資料,請參見各地區功能說明

  • 新版和舊版雲產品流轉功能均支援將資料流轉到Message Service(MNS)。舊版雲產品流轉使用樣本,請參見資料轉寄到Message Service(舊版)

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

前提條件

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

  • 已建立Message Service主題,並在該主題下建立推送類型為HTTP或隊列的訂閱。Message Service使用方法,請參見輕量訊息佇列SMQ(原 MNS)文檔

    重要

    企業版執行個體中,Message Service主題所在地區必須與該企業版執行個體所在地區一致。

  • 已在您的商務服務器中使用MNS雲端SDK監聽已訂閱MNS主題的MNS隊列,才能實現Message ServiceMNS雲端應用接收物聯網平台裝置訊息。

    Simple Message Queue (formerly MNS) (SMQ)雲端SDK調用方法,請參見SDK下載和使用中對應SDK的主題使用手冊

背景資訊

裝置端與服務端通過Message Service轉寄資料的流程,請參見資料轉寄到Message Service(MNS)

物聯網平台提供服務端訂閱和雲產品流轉服務,均可將裝置訊息轉寄到Message ServiceMNS用戶端進行消費。對比服務端訂閱功能,雲產品流轉功能支援先指定裝置Topic和加工處理裝置資料再進行訊息轉寄。您可以對比流轉方案及應用情境,選擇您業務需要的合適方案。具體內容,請參見資料流轉方案對比。服務端訂閱者式的配置方法,請參見使用MNS服務端訂閱

建立資料目的

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

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

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

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

    說明

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

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

    參數

    描述

    選擇操作

    選擇發送資料到Message Service(MNS)中

    地區

    選擇Message Service所在地區。

    主題

    選擇接收資料的SMQ主題。

    SMQ會將接收到的訊息發送給該主題下的HTTP和隊列類型的訂閱。目前,物聯網平台推送至SMQ主題的訊息,僅可以通過HTTP或隊列兩種方式訂閱。

    您可以單擊建立主題,跳轉到Simple Message Queue (formerly MNS)控制台,建立SMQ主題以及訂閱。請參見輕量訊息佇列(原 MNS) SMQ(Simple Message Queue (formerly MNS))文檔

    角色

    授權物聯網平台將資料寫入Simple Message Queue (formerly MNS)

    如您還未建立相關角色,單擊建立RAM角色,跳轉到RAM控制台,建立角色和授權策略,請參見建立RAM角色

配置並啟動解析器

  1. 建立解析器,例如DataParser。具體操作,請參見步驟一:建立解析器
  2. 解析器詳情頁面,關聯資料來源。
    1. 在設定精靈的資料來源下,單擊關聯資料來源
    2. 在彈出的對話方塊中,單擊資料來源下拉式清單,選擇已建立的資料來源DataSource,單擊確定
  3. 解析器詳情頁面,關聯資料目的。
    1. 單擊設定精靈的資料目的,然後單擊資料目的列表右上方的關聯資料目的
    2. 在彈出的對話方塊中,單擊資料目的下拉式清單,選擇已建立的資料目的DataPurpose,單擊確定
    3. 在資料目的列表,查看並儲存資料目的ID,例如為1000
      後續解析指令碼中,需使用此處的資料目的ID
  4. 解析器詳情頁面,單擊解析器
  5. 在指令碼輸入框,輸入解析指令碼。

    解析指令碼類似JavaScript語言,編輯指令碼的文法參考JavaScript文法,詳細的編輯方法,請參見指令碼文法

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

    //通過payload函數,擷取裝置上報的訊息內容,並按照JSON格式轉換。
    var data = payload("json");
    //直接流轉物模型上報資料。
    writeMns(1000, data);
  6. 單擊調試,根據頁面提示,選擇產品和裝置,輸入Topic和Payload資料,驗證指令碼可執行。

    參數樣本如下:調試樣本

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

    運行結果

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

後續操作

  • 您可在物聯網平台控制台對應執行個體下監控營運 > Log Service頁面的雲端作業記錄頁簽,查看裝置到雲訊息雲產品流轉的作業記錄。具體操作,請參見雲端作業記錄

  • 您可登入輕量訊息佇列(原 MNS)控制台,查看MNS主題推送到隊列的訊息。具體操作,請參見接收訊息

相關文檔

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

  • 您可在執行個體詳情頁面,查看訊息轉寄TPS可用資源,確保裝置訊息能正常轉寄到Simple Message Queue (formerly MNS)進行消費。具體操作,請參見查看執行個體資訊和運行資料。如果可用資源不足,可進行升配。具體內容,請參見升配

  • 查看Simple Message Queue (formerly MNS)主題監控項,瞭解接收訊息的數量。具體操作,請參見查看主題監控項

  • 您可以使用日誌管理功能將訊息主題的訊息作業日誌推送到Log ServiceLog Service。當訊息的消費確認出現異常時,您可以通過MessageId查詢訊息軌跡等資訊,從而進行異常診斷。具體內容,請參見推送日誌到Log Service查看日誌Log Service