全部產品
Search
文件中心

IoT Platform:BatchAddThingTopo

更新時間:Feb 13, 2025

調用該介面大量新增裝置拓撲關係。

使用說明

  • 單次調用最多可為一個網關添加10個子裝置。
  • 介面調用者必須是網關的所有者(Owner)。
  • 如果傳入的子裝置已存在拓撲關係,則會將子裝置原有的網關替換為當前網關。
  • 任意一個子裝置與網關的拓撲關係建立失敗時,系統復原,傳入的所有子裝置與當前網關建立拓撲關係失敗。
  • 調用該介面添加網關與子裝置的拓撲關係會通過Topic:/sys/${productKey}/${deviceName}/thing/topo/change通知網關。詳細說明,請參見通知網關拓撲關係變化

QPS限制

單個阿里雲帳號調用該介面的每秒請求數(QPS)最大限制為10。

說明 RAM使用者共用阿里雲帳號配額。

調試

您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。

請求參數

名稱 類型 是否必選 樣本值 描述
Action String BatchAddThingTopo

系統規定參數。取值:BatchAddThingTopo。

GwDeviceName String gateway

網關裝置的名稱。

GwProductKey String a1vL7cp****

網關裝置所屬的產品的ProductKey。

TopoAddItem.N.DeviceName String light

要接入網關的子裝置名稱。

TopoAddItem.N.ProductKey String a1BwAGV****

要接入網關的子裝置所屬的產品ProductKey。

TopoAddItem.N.Sign String C1C1606D61884C5F16C9EA6622E5****

添加拓撲關係的簽名。

根據簽名計算方式SignMethod(deviceSecret,content),計算出的結果作為Sign的取值。

其中,content是將所有提交給伺服器的子裝置參數(Sign、SignMethod除外),按照英文字母升序,依次排序拼接(無拼接符號)的結果。

例如,如果傳入的裝置參數為ClientId=868575026974305、DeviceName=868575026974305、ProductKey=a1PB5fp1234、SignMethod=hmacmd5、timestamp=1646277090411,且deviceSecret=1234,那麼簽名計算為hmacmd5(1234, clientId868575026974305deviceName868575026974305productKeya1PB5fp1234timestamp1646277090411);簽名計算結果為3BA0DFA4C477B40C007D84D30D6466CC

說明 樣本中的ClientId為裝置的用戶端ID,您需自訂。

計算簽名參數的方法,請參見如何計算簽名參數,計算結果passwd(password)為Sign值。

TopoAddItem.N.SignMethod String hmacMd5

簽名方法。支援hmacSha1hmacSha256hmacMd5Sha256(大小寫不敏感)。

IotInstanceId String iot_instc_pu****_c*-v64********

執行個體ID。您可在物聯網平台控制台的執行個體概覽頁面,查看當前執行個體的ID

重要
  • 若有ID值,必須傳入該ID值,否則調用會失敗。
  • 若無執行個體概覽頁面或ID值,則無需傳入。

執行個體的更多資訊,請參見執行個體概述

TopoAddItem.N.Timestamp String 1579335899000

UTC時間戳記。非必選。

重要 如果Sign中包含了該參數,此處必須同時傳入對應值。
TopoAddItem.N.ClientId String a1BwAGV****device1

裝置端ID,可使用裝置的SN碼或MAC地址。非必選參數。

重要 如果Sign中包含了該參數,此處必須同時傳入對應值。

調用API時,除了本文介紹的該API的特有請求參數,還需傳入公用請求參數。公用請求參數說明,請參見公用參數文檔

返回資料

名稱 類型 樣本值 描述
Code String iot.system.SystemException

調用失敗時,返回的錯誤碼。更多資訊,請參見錯誤碼

ErrorMessage String 系統異常

調用失敗時,返回的出錯資訊。

RequestId String E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565

阿里雲為該請求產生的唯一識別碼。

Success Boolean true

表示是否調用成功。

  • true:調用成功。
  • false:調用失敗。

樣本

請求樣本

https://iot.cn-shanghai.aliyuncs.com/?Action=BatchAddThingTopo
&GwProductKey=a1duisa****
&GwDeviceName=tydhnay16shc6
&TopoAddItem.1.ProductKey=a1rYuVF****
&TopoAddItem.1.DeviceName=SR8FiTu1R9tlUR2V1bmi
&TopoAddItem.1.Sign=dgj1609rD6IUGFCRkJKKdNKAE67h8****
&TopoAddItem.1.SignMethod=hmacMd5
&TopoAddItem.2.ProductKey=a1yrZMH****
&TopoAddItem.2.DeviceName=RkQ8CFtNpDok4BEunymt
&TopoAddItem.2.Sign=C1C1606D61884C5F16C9EA6622E5****
&TopoAddItem.2.SignMethod=hmacMd5
&<公用請求參數>

正常返回樣本

XML格式

<BatchAddThingTopoResponse>
  <RequestId>2E19BDAF-0FD0-4608-9F41-82D230CFEE38</RequestId>
  <Success>true</Success>
</BatchAddThingTopoResponse>

JSON格式

{
  "RequestId": "2E19BDAF-0FD0-4608-9F41-82D230CFEE38",
  "Success": true
}

錯誤碼

訪問錯誤中心查看更多錯誤碼。