更新时间:2024-10-23 GMT+08:00

创建设备代理

功能介绍

应用服务器可调用此接口在物联网平台创建一个动态设备代理规则,用于子设备自主选择网关设备上线和上报消息,即代理组下的任意网关下的子设备均可以通过代理组里其他设备上线( 网关更新子设备状态)然后进行数据上报( 网关更新子设备状态)。

  • 单实例最多可以配置10个设备代理

  • 单账号调用该接口的 TPS 限制最大为1/S(每秒1次请求数)

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST /v5/iot/{project_id}/device-proxies

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数说明:项目ID。获取方法请参见 获取项目ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数说明:用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证

Instance-Id

String

参数说明:实例ID。物理多租下各实例的唯一标识,建议携带该参数,在使用专业版时必须携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID,具体获取方式请参考 查看实例详情

表3 请求Body参数

参数

是否必选

参数类型

描述

proxy_name

String

参数说明:设备代理名称

proxy_devices

Array of strings

参数说明:代理设备列表,列表内所有设备共享网关权限,即列表内任意一个网关下的子设备可以通过组里任意一个网关上线然后进行数据上报。

取值范围:列表内填写设备id,列表内最少有2个设备id,最多有10个设备id,设备id取值范围:长度不超过128,只允许字母、数字、下划线(_)、连接符(-)的组合,建议不少于4个字符。

effective_time_range

EffectiveTimeRange object

参数说明:设备代理规则有效期

app_id

String

参数说明:资源空间ID。携带该参数指定创建的设备归属到哪个资源空间下。

取值范围:长度不超过36,只允许字母、数字、下划线(_)、连接符(-)的组合。

表4 EffectiveTimeRange

参数

是否必选

参数类型

描述

start_time

String

设备代理开始生效的时间,使用UTC时区,格式:yyyyMMdd'T'HHmmss'Z'

end_time

String

设备代理失效的时间,必须大于start_time,使用UTC时区,格式:yyyyMMdd'T'HHmmss'Z'

响应参数

状态码: 201

表5 响应Body参数

参数

参数类型

描述

proxy_id

String

参数说明:设备代理ID。用来唯一标识一个代理规则

proxy_name

String

参数说明:设备代理名称

proxy_devices

Array of strings

参数说明:代理设备组,组内所有设备共享网关权限,即组内任意一个网关下的子设备可以通过组里任意一个网关上线然后进行数据上报。

effective_time_range

EffectiveTimeRangeResponseDTO object

参数说明:设备代理规则有效期

app_id

String

参数说明:资源空间ID。

表6 EffectiveTimeRangeResponseDTO

参数

参数类型

描述

start_time

String

设备代理开始生效的时间,使用UTC时区,格式:yyyyMMdd'T'HHmmss'Z'

end_time

String

设备代理失效的时间,必须大于start_time,使用UTC时区,格式:yyyyMMdd'T'HHmmss'Z'

请求示例

创建设备代理

POST https://{endpoint}/v5/iot/{project_id}/device-proxies

{
  "proxy_name" : "testAPP01",
  "app_id" : "jeQDJQZltU8iKgFFoW060F5SGZka",
  "proxy_devices" : [ "d4922d8a-6c8e-4396-852c-164aefa6638f", "d4922d8a-6c8e-4396-852c-164aefa6638g" ],
  "effective_time_range" : {
    "start_time" : "20200812T121212Z",
    "end_time" : "20210812T121212Z"
  }
}

响应示例

状态码: 201

Created

{
  "proxy_id" : "04ed32dc1b0025b52fe3c01a27c2babc",
  "proxy_name" : "testAPP01",
  "app_id" : "jeQDJQZltU8iKgFFoW060F5SGZka",
  "proxy_devices" : [ "d4922d8a-6c8e-4396-852c-164aefa6638f", "d4922d8a-6c8e-4396-852c-164aefa6638g" ],
  "effective_time_range" : {
    "start_time" : "20200812T121212Z",
    "end_time" : "20210812T121212Z"
  }
}

状态码

状态码

描述

201

Created

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

错误码

请参见错误码