如果您需要同時向多個裝置發送自訂Topic訊息,可使用物聯網平台的訊息批量下發任務。本文介紹該任務的建立方法、運行中Topic及其資料格式的說明,查看狀態的具體操作。
前提條件
- 已在物聯網平台為裝置添加具有訂閱或訂閱和發布許可權的自訂Topic。具體操作,請參見使用自訂Topic通訊。
- 已在裝置端完成自訂Topic訂閱,且未取消訂閱。具體操作,請參見Link SDK的訂閱Topic。
任務管理流程
- 建立Pub服務任務。
- 在物聯網平台控制台對應執行個體下的 頁面,單擊建立任務。
- 在建立任務頁面,單擊以下參數名稱右側的協助表徵圖,根據頁面提示,配置任務和作業,單擊完成。
- 任務配置
參數 說明 任務名稱 輸入符合規則的任務名稱。 任務類型 選擇類型:Pub批量訊息推送任務。 任務描述 輸入該任務的用途等資訊,便於您區分不同的任務。 目標裝置、產品或分組 從裝置、產品或分組維度選擇可執行任務的裝置。重要 從分組維度選擇裝置時,不支援選擇動態分組。下發給裝置的任務執行規則 上傳規則檔案。僅支援 .json
格式檔案,檔案大小不能超過64 KB。您可單擊下載模板,擷取規則檔案模板。
例如多個裝置的自訂Topic為:
/${productKey}/${deviceName}/user/get
,程式碼範例如下:{ "topicShortName": "get", "messageContent": "eyJ0ZXN0IjoidGFzayBiYXRjaHB1YiBicm9hZGNhc3QifQ==" }
- topicShortName:用於定義完整的自訂Topic:
/${productKey}/${deviceName}/user/${topicShortName}
。即Topic:/${productKey}/${deviceName}/user/get
的topicShortName值為get
。 - messageContent:要發送的訊息主體。您需要將訊息原文轉換成位元據,並進行Base64編碼,從而產生訊息主體。
- topicShortName:用於定義完整的自訂Topic:
- 作業配置
參數 說明 作業執行推送配置 - 每分鐘作業執行數量:根據您的業務需要,設定每分鐘作業推送數量。
- 推送訊息類型:僅對自訂任務和Pub批量訊息推送任務生效。
可選:
- QoS0:最多發送一次。
- QoS1:最少發送一次。如果QoS1訊息未接收到PUBACK訊息,會在裝置重連時,重新推送給裝置。
作業執行的逾時配置 可選配置。不設定表示不會逾時。僅對自訂任務生效。 從裝置任務進入IN_PROGRESS狀態,開始計算時間。如果超過了逾時時間,任務下作業仍未執行完成,作業狀態將被自動化佈建為TIMED_OUT,作業停止執行。
作業開始調度時間 可選配置。從當前設定作業的時間,開始計算時間。
裝置任務建立成功後,先初始化,直至到達調度時間,才會開始調度執行。
- 任務配置
- 任務建立完成後,物聯網平台通過調用Pub介面,向多個裝置發送訊息,然後裝置向物聯網平台返迴響應結果。自訂訊息Topic為
/${productKey}/${deviceName}/user/${TopicShortName}
,資料格式由使用者自訂。 - 在物聯網平台對應執行個體下的 頁面,查看已建立任務及目前狀態。重要 狀態為已逾時的任務,不可再被調度執行。
從任務建立完成開始計時,如果任務下作業未在7天內全部執行完成,任務狀態顯示為已逾時。
您可根據實際情境需要,執行以下操作:
- 在工作清單中,取消執行中狀態的任務。
- 單擊目標任務對應的查看,在任務詳情頁面,查看任務資訊和作業執行統計。
功能頁簽 說明 任務資訊 您可以查看任務資訊,修改任務描述和作業配置,下載裝置任務檔案。 作業概覽 您可以查看任務下各狀態的作業統計。 - 您可以單擊目標裝置的查看,在裝置詳情頁面:
- 單擊任務頁簽,查看該裝置下的所有工作清單。
- 單擊Log Service的前往查看,在雲端作業記錄頁簽的搜尋欄,選擇業務類型為雲到裝置訊息,查看裝置任務相關日誌。
- 如果作業未執行成功,單擊執行詳情,可查看失敗原因。
- 如果作業執行已逾時或失敗,單擊已逾時或失敗的狀態按鈕,可查看對應狀態的作業列表。
您可以單擊列表上方的重新執行,重新執行當前任務下所有已逾時和失敗的作業。
- 您可以單擊目標裝置的查看,在裝置詳情頁面:
- 單擊目標任務對應的刪除,然後單擊確認。警告 刪除裝置任務後,與該任務相關的資料被清除,如果有依賴該任務的業務,可能導致服務不可用或影響使用者的業務。請謹慎操作。