調用該接口批量添加設備拓撲關系。
使用說明
- 單次調用最多可為一個網關添加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
}