如果您需要同時調用多個裝置的非同步服務,可使用物聯網平台的裝置批量服務調用任務。本文介紹該任務的建立方法、運行中Topic及其資料格式的說明,查看狀態的具體操作。
前提條件
任務管理流程
- 建立裝置批量服務調用任務。
- 在物聯網平台控制台對應執行個體下的 頁面,單擊建立任務。
- 在建立任務頁面,單擊以下參數名稱右側的協助表徵圖,根據頁面提示,配置任務和作業,單擊完成。
- 任務配置
參數 說明 任務名稱 輸入符合規則的任務名稱。可自訂。 任務類型 選擇類型:裝置批量服務調用任務。 任務描述 輸入該任務的用途等資訊,便於您區分不同的任務。 目標裝置、產品或分組 從裝置、產品或分組維度選擇可執行任務的裝置。重要 從分組維度選擇裝置時,不支援選擇動態分組。下發給裝置的任務執行規則 上傳規則檔案。僅支援 .json
格式檔案,檔案大小不能超過64 KB。您可單擊下載模板,擷取規則檔案模板。
例如裝置所屬產品下物模型服務資料計算,標識符為Operation_Service,調用方式為非同步,輸入參數為數值A(NumberA)和數值B(NumberB),參數資料類型均為int32,程式碼範例如下:
{ "serviceIdentifier": "Operation_Service", "params": { "NumberA": 32, "NumberB": 56 } }
- serviceIdentifier:服務唯一識別碼。可在物聯網平台控制台中,裝置所屬產品的功能定義中查看。
如果是自訂(非預設)模組
testFb
下服務Operation_Service
,則參數為"serviceIdentifier": "testFb:Operation_Service",
。 - params:服務的入參,可包含多個入參。
- serviceIdentifier:服務唯一識別碼。可在物聯網平台控制台中,裝置所屬產品的功能定義中查看。
- 作業配置
參數 說明 作業執行速率配置 根據您的業務需要,設定每分鐘作業推送數量。必選配置。 作業執行的逾時配置 僅對自訂任務生效。此處無需配置。 作業開始調度時間 可選配置。 從當前設定作業的時間,開始計算時間。
裝置任務建立成功後,先初始化,直至到達調度時間,才會開始調度執行。
- 任務配置
- 任務建立完成後,物聯網平台通過InvokeThingService或InvokeThingsService介面調用服務,採用非同步方式下行推送請求,然後裝置也採用非同步方式向物聯網平台返迴響應結果。
訊息格式如下:
{ "id": "123", "version": "1.0", "params": { "Power": "on", "WF": "2" }, "method": "thing.service.${tsl.service.identifier}" }
其中,params資料是任務規則檔案中params資料;
{tsl.service.identifier}
是任務規則檔案中serviceIdentifier的值。上文規則檔案對應訊息格式如下:{ "id": "123", "version": "1.0", "params": { "NumberA": 32, "NumberB": 56 }, "method": "thing.service.Operation_Service" }
裝置服務非同步呼叫的Alink協議,請參見裝置服務調用(非同步呼叫)。
- 在物聯網平台對應執行個體下的 頁面,查看已建立任務及目前狀態。重要 狀態為已逾時的任務,不可再被調度執行。
從任務建立完成開始計時,如果任務下作業未在7天內全部執行完成,任務狀態顯示為已逾時。
您可根據實際情境需要,執行以下操作:
- 在工作清單中,取消執行中狀態的任務。
- 單擊目標任務對應的查看,在任務詳情頁面,查看任務資訊和作業執行統計。
功能頁簽 說明 任務資訊 您可以查看任務資訊,修改任務描述和作業配置,下載裝置任務檔案。 作業概覽 您可以查看任務下各狀態的作業統計。 - 您可以單擊目標裝置的查看,在裝置詳情頁面:
- 單擊任務頁簽,查看該裝置下的所有工作清單。
- 單擊Log Service的前往查看,在雲端作業記錄頁簽的搜尋欄,選擇業務類型為雲到裝置訊息,查看裝置任務相關日誌。
- 如果作業未執行成功,單擊執行詳情,可查看失敗原因。
- 如果作業執行已逾時或失敗,單擊已逾時或失敗的狀態按鈕,可查看對應狀態的作業列表。
您可以單擊列表上方的重新執行,重新執行當前任務下所有已逾時和失敗的作業。
- 您可以單擊目標裝置的查看,在裝置詳情頁面:
- 單擊目標任務對應的刪除,然後單擊確認。警告 刪除裝置任務後,與該任務相關的資料被清除,如果有依賴該任務的業務,可能導致服務不可用或影響使用者的業務。請謹慎操作。