V2.1 Add Sub-Device¶
给网关设备添加新的子设备(创建拓扑关系)。
该 API 支持在 EnOS 2.1.0 及以上环境中使用。
操作权限¶
使用此 API 前,确保服务账号已被授予包含下列服务和操作权限的策略。有关授权服务账号的更多信息,参见 管理服务账号。
需授权的服务 |
所需操作权限 |
---|---|
设备管理服务 |
Full Access |
前提条件¶
确保已创建所需网关设备。
确保已阅读设备相关的 使用限制。
请求格式¶
POST https://{apigw-address}/connect-service/v2.1/device-topos?action=addSubDevice
请求参数(URI)¶
名称 |
位置(Path/Query) |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|---|
orgId |
Query |
必需 |
String |
资产所属的组织ID。 如何获取orgId信息>> |
请求参数(Body)¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
gateway |
必需 |
DeviceIdentifier结构体 |
需要添加子设备的网关信息,见 DeviceIdentifier结构体>> |
subDevices |
必需 |
DeviceIdentifier结构体数组 |
需要添加到指定网关的子设备列表信息,见 DeviceIdentfier结构体>> |
DeviceIdentifier结构体¶
备注
DeviceIdentifier
结构体中的字段都是非必选的,但必须提供 assetId
或 productKey
+ deviceKey
的组合,用于指定设备。
名称 |
数据类型 |
描述 |
---|---|---|
assetId |
String |
资产ID。 如何获取Asset ID信息>> |
productKey |
String |
设备的Product Key.`如何获取设备的三元组信息>> </docs/device-connection/zh_CN/preview/howto/device/managing_devices.html#triple>`_ |
deviceKey |
String |
设备的Device Key.`如何获取设备的三元组信息>> </docs/device-connection/zh_CN/preview/howto/device/managing_devices.html#triple>`_ |
错误码¶
代码 |
错误信息 |
描述 |
---|---|---|
11738 |
Not Gateway |
参数gateway不是网关设备。 |
11739 |
Exceed max device size |
该操作将导致网关的子设备数量超过限定值。 |
99400 |
Invalid arguments |
参数错误。 |
示例¶
请求示例¶
url:https://{apigw-address}/connect-service/v2.1/device-topos?action=addSubDevice&orgId=yourOrgId
method: POST
requestBody:
{
"subDevices":[
{
"assetId":"yourAssetId"
}
],
"gateway":{
"assetId":"yourAssetId2"
}
}
返回示例¶
{
"code":0,
"msg":"OK",
"requestId":"5246f91c-f9ce-485c-a9f2-4cd8b7e1f0df",
"data":null
}
SDK 示例¶
你可以在 Github 上获取接入服务的 SDK 示例: