調用該介面大量新增裝置拓撲關係。
使用說明
- 單次調用最多可為一個網關添加10個子裝置。
- 介面調用者必須是網關的所有者(Owner)。
- 如果傳入的子裝置已存在拓撲關係,則會將子裝置原有的網關替換為當前網關。
- 任意一個子裝置與網關的拓撲關係建立失敗時,系統復原,傳入的所有子裝置與當前網關建立拓撲關係失敗。
- 調用該介面添加網關與子裝置的拓撲關係會通過Topic:
/sys/${productKey}/${deviceName}/thing/topo/change通知網關。詳細說明,請參見通知網關拓撲關係變化。
QPS限制
單個阿里雲帳號調用該介面的每秒請求數(QPS)最大限制為10。
調試
您可以在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,那麼簽名計算為 說明 樣本中的ClientId為裝置的用戶端ID,您需自訂。 計算簽名參數的方法,請參見如何計算簽名參數,計算結果passwd(password)為Sign值。 |
| TopoAddItem.N.SignMethod | String | 是 | hmacMd5 | 簽名方法。支援hmacSha1、hmacSha256、hmacMd5和Sha256(大小寫不敏感)。 |
| IotInstanceId | String | 否 | iot_instc_pu****_c*-v64******** | 執行個體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 | 表示是否調用成功。
|
樣本
請求樣本
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
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。