如果您需要同時向多個設備發送自定義Topic消息,可使用物聯網平臺的消息批量下發任務。本文介紹該任務的創建方法、運行中Topic及其數據格式的說明,查看狀態的具體操作。

前提條件

  • 已在物聯網平臺為設備添加具有訂閱訂閱和發布權限的自定義Topic。具體操作,請參見自定義Topic
  • 已在設備端完成自定義Topic訂閱,且未取消訂閱。具體操作,請參見Link SDK的訂閱Topic

任務管理流程

  1. 創建Pub服務任務。
    1. 物聯網平臺控制臺對應實例下的監控運維 > 任務管理頁面,單擊創建任務
    2. 創建任務頁面,單擊以下參數名稱右側的幫助圖標幫助,根據頁面提示,配置任務和作業,單擊完成
      • 任務配置
        參數說明
        任務名稱輸入符合規則的任務名稱。
        任務類型選擇類型:Pub批量消息推送任務
        任務描述輸入該任務的用途等信息,便于您區分不同的任務。
        目標設備、產品或分組
        從設備、產品或分組維度選擇可執行任務的設備。
        重要 從分組維度選擇設備時,不支持選擇動態分組。
        下發給設備的任務執行規則上傳規則文件。僅支持.json格式文件,文件大小不能超過64 KB。

        您可單擊下載模板,獲取規則文件模板。

        例如多個設備的自定義Topic為:/${productKey}/${deviceName}/user/get,代碼示例如下:

        {
            "topicShortName": "get",
            "messageContent": "eyJ0ZXN0IjoidGFzayBiYXRjaHB1YiBicm9hZGNhc3QifQ=="
        }
        • topicShortName:用于定義完整的自定義Topic:/${productKey}/${deviceName}/user/${topicShortName}。即Topic:/${productKey}/${deviceName}/user/gettopicShortName值為get
        • messageContent:要發送的消息主體。您需要將消息原文轉換成二進制數據,并進行Base64編碼,從而生成消息主體。
      • 作業配置
        參數說明
        作業執行推送配置
        • 每分鐘作業執行數量:根據您的業務需要,設置每分鐘作業推送數量。
        • 推送消息類型:僅對自定義任務和Pub批量消息推送任務生效。

          可選:

          • QoS0:最多發送一次。
          • QoS1:最少發送一次。如果QoS1消息未接收到PUBACK消息,會在設備重連時,重新推送給設備。
        作業執行的超時配置可選配置。不設置表示不會超時。僅對自定義任務生效。

        從設備任務進入IN_PROGRESS狀態,開始計算時間。如果超過了超時時間,任務下作業仍未執行完成,作業狀態將被自動設置為TIMED_OUT,作業停止執行。

        作業開始調度時間可選配置。

        從當前設置操作的時間,開始計算時間。

        設備任務創建成功后,先初始化,直至到達調度時間,才會開始調度執行。

  2. 任務創建完成后,物聯網平臺通過調用Pub接口,向多個設備發送消息,然后設備向物聯網平臺返回響應結果。
    自定義消息Topic為/${productKey}/${deviceName}/user/${TopicShortName},數據格式由用戶自定義。
  3. 在物聯網平臺對應實例下的監控運維 > 任務管理頁面,查看已創建任務及當前狀態。
    重要 狀態為已超時的任務,不可再被調度執行。

    從任務創建完成開始計時,如果任務下作業未在7天內全部執行完成,任務狀態顯示為已超時

    您可根據實際場景需要,執行以下操作:

    • 在任務列表中,取消執行中狀態的任務。
    • 單擊目標任務對應的查看,在任務詳情頁面,查看任務信息和作業執行統計。
      功能頁簽說明
      任務信息您可以查看任務信息,修改任務描述和作業配置,下載設備任務文件。
      作業概覽您可以查看任務下各狀態的作業統計。
      • 您可以單擊目標設備的查看,在設備詳情頁面:
        • 單擊任務頁簽,查看該設備下的所有任務列表。
        • 單擊日志服務前往查看,在云端運行日志頁簽的搜索欄,選擇業務類型云到設備消息,查看設備任務相關日志。
      • 如果作業未執行成功,單擊執行詳情,可查看失敗原因。
      • 如果作業執行已超時或失敗,單擊已超時失敗的狀態按鈕,可查看對應狀態的作業列表。

        您可以單擊列表上方的重新執行,重新執行當前任務下所有已超時和失敗的作業。

    • 單擊目標任務對應的刪除,然后單擊確認
      警告 刪除設備任務后,與該任務相關的數據被清除,如果有依賴該任務的業務,可能導致服務不可用或影響用戶的業務。請謹慎操作。