设备接入 IoTDA设备接入 IoTDA

更新时间:2021/09/06 GMT+08:00
分享

按标签查询资源

接口说明

应用服务器可调用此接口查询绑定了指定标签的资源。当前支持标签的资源有Device(设备)。

调试

您可以在API Explorer中调试该接口。

URI

请求方法

POST

URI

/v5/iot/{project_id}/tags/query-resources

传输协议

HTTPS

请求参数

名称

必选/可选

类型

位置

说明

X-Auth-Token

必选

String

Header

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

Instance-Id

可选

String

Header

参数说明:实例ID。物理多租下各实例的唯一标识,一般华为云租户无需携带该参数,仅在物理多租场景下从管理面访问API时需要携带该参数。

project_id

必选

String

Path

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

limit

可选

Integer

Query

参数说明:分页查询时每页显示的记录数。

取值范围:1-50的整数,默认值为10。

marker

可选

String

Query

参数说明:上一次分页查询结果中最后一条记录的ID,在上一次分页查询时由物联网平台返回获得。分页查询时物联网平台是按marker也就是记录ID降序查询的,越新的数据记录ID也会越大。若填写marker,则本次只查询记录ID小于marker的数据记录。若不填写,则从记录ID最大也就是最新的一条数据开始查询。如果需要依次查询所有数据,则每次查询时必须填写上一次查询响应中的marker值。

取值范围:长度为24的十六进制字符串,默认值为ffffffffffffffffffffffff。

offset

可选

Integer

Query

参数说明:表示从marker后偏移offset条记录开始查询。当offset为0时,表示从marker后第一条记录开始输出。限制offset最大值是出于API性能考虑,您可以搭配marker使用该参数实现翻页,例如每页50条记录,1-11页内都可以直接使用offset跳转到指定页,但到11页后,由于offset限制为500,您需要使用第11页返回的marker作为下次查询的marker,以实现翻页到12-22页。

取值范围:0-500的整数,默认为0。

resource_type

必选

String

Body

参数说明:要查询的资源类型,当前支持设备(device)。

tags

必选

List<TagV5DTO>

Body

参数说明:标签列表,支持按照标签key和value组合查询,传入的多个标签之间是或的关系。

表1 TagV5DTO

名称

必选/可选

类型

说明

tag_key

必选

String

参数说明:标签键,在同一资源下标签键唯一。绑定资源时,如果设置的键已存在,则将覆盖之前的标签值。如果设置的键值不存在,则新增标签。

取值范围:长度不超过64,只允许中文、字母、数字、以及_.-等字符的组合。

tag_value

可选

String

参数说明:标签值。

取值范围:长度不超过128,只允许中文、字母、数字、以及_.-等字符的组合。

响应参数

名称

类型

说明

resources

List<ResourceDTO>

资源列表。

page

Page Object

查询结果的分页信息。

表2 ResourceDTO

名称

类型

说明

resource_id

String

资源id。例如,要查询的资源类型为device,那么对应的资源id就是device_id。

表3 Page

名称

类型

说明

count

Long

满足查询条件的记录总数。

marker

String

本次分页查询结果中最后一条记录的ID,可在下一次分页查询时使用。

请求示例

POST https://{Endpoint}/v5/iot/{project_id}/tags/query-resources?limit={limit}&marker={marker}&offset={offset}
Content-Type: application/json
X-Auth-Token: ********
Instance-Id: ********

{
  "resource_type" : "device",
  "tags" : [ {
    "tag_value" : "testTagValue",
    "tag_key" : "testTagName"
  } ]
}

响应示例

Status Code: 200 OK

Content-Type: application/json

{
  "resources" : [ {
    "resource_id" : "d4922d8a"
  } ],
  "page" : {
    "count" : "10,",
    "marker" : "5c90fa7d3c4e4405e8525079"
  }
}

错误码

HTTP状态码

错误码

错误码英文描述

错误码中文描述

处理建议

400

IOTDA.004004

Invalid input. The tag_key %s is duplicated in request params.

标签的tag_key重复

请修改tag_key的值后再操作。

403

IOTDA.000021

Operation not allowed. User not found by IAM token or the authorized user has not subscribed IOTDA service.

没有找到IAM Token所对应的用户信息或该用户没有订阅设备接入服务(IOTDA)

请排查IAM Token所在用户是否订阅了设备接入服务(IOTDA)。

IOTDA.000022

Operation not allowed. The user does not have the permission

该用户没有权限

请排查该用户是否有权限访问。

IOTDA.001006

Operation not allowed. Application not found by authorized user or the authorized user has no application.

用户下没有应用或应用与用户不匹配

请排查用户下是否有应用或是否有指定的应用。

404

IOTDA.004000

The resource does not exist.

资源不存在

请确认请求参数是否正确。如deviceId, resourceId等。

500

IOTDA.000001

Internal server error.

服务器内部错误

请联系华为工程师分析解决。

IOTDA.000020

Decrypt IAM token failed.

IAM Token解析失败

请联系华为工程师分析解决。

分享:

    相关文档

    相关产品