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 结构体中的字段都是非必选的,但必须提供 assetIdproductKey + 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 示例: