資料轉寄到另一Topic

更新時間:
Copy as MD

裝置不能訂閱其他裝置的Topic,也不能向其他裝置的Topic發布訊息。通過雲產品流轉可以將SQL處理完的一個裝置Topic的訊息內容,轉寄到另一個裝置Topic,實現裝置間通訊(M2M通訊)或者其他通訊情境。

工作原理

訊息轉寄的雲產品流轉功能可以將Topic1中的資料轉寄到Topic2內。 資料流轉示意圖如下。

雲產品流轉可以將裝置1Topic1訊息轉寄給另一個具備訂閱許可權裝置2Topic2,裝置2訂閱Topic2,即可接收裝置1Topic1訊息,實現不同裝置間的通訊。

在上圖中:

  • 資料來源Topic1:Topic1支援的Topic類型訊息,請參見資料格式

  • SQL運算式:編寫SQL運算式來解析和處理裝置上報的JSON資料。SQL運算式的文法說明,請參見SQL運算式

    說明

    二進位格式的資料不做解析,直接透傳。

  • 資料目的:接收Topic1訊息的Topic2,支援以下Topic類型。

    支援自訂Topic和物模型資料下發Topic:/sys/${productKey}/${deviceName}/thing/service/property/set

應用情境

  • 資料轉寄目的Topic為自訂Topic:

    • 同一產品下,不同裝置之間通訊。

    • 不同產品下,兩個裝置之間通訊。

  • 資料轉寄目的Topic為物模型資料下發Topic:/sys/${productKey}/${deviceName}/thing/service/property/set

    Topic為裝置接收設定屬性值指令的Topic,裝置從該Topic接收轉寄資料,並根據資料內容,設定屬性值。用於目的Topic所屬裝置根據轉寄的資料更改屬性值的情境。

使用限制

  • Topic訊息轉寄到目的Topic內,目的Topic必須具備訂閱許可權,且目的Topic所屬裝置必須已成功訂閱對應目的Topic。否則,目的Topic所屬裝置接收不到源Topic轉寄的訊息。

  • 雲網關產品和裝置,及MQTT型執行個體下產品和裝置,不支援使用雲產品流轉(舊版)功能。如果流轉對應產品和裝置的資料,需要使用雲產品流轉(新版)功能。具體內容,請參見雲產品流轉(新版)

前提條件

已建立資料轉寄規則和編寫處理資料來源TopicSQL運算式,具體操作,請參見設定資料流轉規則

添加資料轉寄目的

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

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

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

  4. 單擊規則對應的查看,進入資料流轉規則頁面。

    重要

    若當前頁面為雲產品流轉新版頁面,需先單擊右上方返回舊版,再單擊目標規則對應的查看

  5. 單擊轉寄資料一欄對應的添加操作

  6. 添加操作對話方塊中,選擇操作為發布到另一個Topic。按照介面提示,設定其他資訊,單擊確認

    參數

    說明

    選擇操作

    選擇發布到另一個Topic

    Topic

    選擇資料轉寄目的地Topic。

    可選的Topic類型:

    • 自訂:目的地Topic為一個自訂Topic。該自訂Topic的裝置操作許可權需為訂閱,即所屬裝置可訂閱這個Topic,擷取轉寄的訊息。

    • 物模型資料下發:目的地Topic為裝置接收設定屬性值指令的Topic:thing/service/property/set。裝置從該Topic接收轉寄資料,並根據資料內容,設定屬性值。用於目的地Topic所屬裝置根據轉寄的資料更改屬性值的情境。

    選擇Topic類型後,您還需選擇產品、裝置和Topic名稱,即指定具體Topic。

    重要

    目的地Topic所屬裝置若未訂閱該Topic,則收不到轉寄的訊息。

    例如使用MQTT.fx工具接入物聯網平台的裝置A,不會自動訂閱裝置Topic,若裝置B向裝置ATopic:thing/service/property/set轉寄資料,而裝置A未手動訂閱該Topic,則裝置A收不到裝置B轉寄的訊息。

    裝置Topic自動訂閱的詳細說明,請參見自動訂閱Topic說明

  7. 回到雲產品流轉頁,單擊規則對應的啟動按鈕啟動規則。

相關文檔

常見問題