更新时间:2025-08-30 GMT+08:00
分享

查询资源实例列表

功能介绍

使用标签过滤实例,查询资源实例列表

调用方法

请参见如何调用API

URI

POST /v1/{project_id}/{resource_type}/resource-instances/filter

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释:

项目ID,用于明确项目归属,配置后可通过该ID查询项目下资产,可以通过调用API获取,也可以从控制台获取。获取项目ID

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

resource_type

String

资源类型

表2 Query参数

参数

是否必选

参数类型

描述

limit

String

查询记录数(action为count时无此参数)如果action为filter默认为1000,limit最多为1000,不能为负数,最小值为1

offset

String

索引位置,偏移量(action为count时无此参数)从第一条数据偏移offset条数据后开始查询,如果action为filter默认为0(偏移0条数据,表示从第一条数据开始查询),必须为数字,不能为负数

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

Content-type

String

发送的实体的MIME类型。

X-Auth-Token

String

用户Token。

通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

表4 请求Body参数

参数

是否必选

参数类型

描述

without_any_tag

Boolean

不包含任意一个标签,该字段为true时查询所有不带标签的资源,此时忽略 “tags”、“tags_any”、“not_tags”、“not_tags_any”字段。

tags

Array of Tag objects

包含标签,最多包含50个key,每个key下面的value最多10个,每个key对应的value可以为空数组但结构体不能缺失 。Key不能重复,同一个key中values不能重复。结果返回包含所有标签的资源列表,key之间是与的关系,key-value结构中value是或的关系。无tag过滤条件时返回全量数据。

sys_tags

Array of Tag objects

仅op_service权限可以使用此字段做资源实例过滤条件。目前TMS调用时只包含一个tag结构体。key:_sys_enterprise_project_idvalue:企业项目id列表目前TMS调用时,key下面只包含一个value。0表示默认企业项目sys_tags和租户标签过滤条件(without_any_tag 、tags、tags_any、not_tags、not_tags_any)不能同时使用无sys_tags时按照tag接口处理,无tag过滤条件时返回全量数据。

matches

Array of Match objects

搜索字段,key为要匹配的字段,如resource_name等。value为匹配的值。key为固定字典值,不能包含重复的key或不支持的key。根据key的值确认是否需要模糊匹配,如resource_name默认为模糊搜索(不区分大小写),如果value为空字符串精确匹配(多数服务不存在资源名称为空的情况,因此此类情况返回空列表)。resource_id为精确匹配。第一期只做resource_name,后续再扩展。

表5 Tag

参数

是否必选

参数类型

描述

key

String

键。最大长度128个unicode字符。 key不能为空。(搜索时不对此参数做字符集校验),key不能为空或者空字符串,不能为空格,校验和使用之前先trim 前后半角空格。

values

Array of strings

值列表。每个值最大长度255个unicode字符,校验和使用之前先trim 前后半角空格。

value可为空数组但不可缺省。

如果values为空列表,则表示any_value(查询任意value)。value之间为或的关系。

表6 Match

参数

是否必选

参数类型

描述

key

String

键。第一期限定为resource_name,后续扩展。

value

String

值。每个值最大长度255个unicode字符 。不校验字符集范。

响应参数

状态码:200

表7 响应Body参数

参数

参数类型

描述

resources

Array of ResourceInfo objects

资产信息

total_count

Integer

资产总数

表8 ResourceInfo

参数

参数类型

描述

resource_id

String

资产ID

tags

Array of Match objects

标签

sys_tags

Array of Match objects

系统标签

resource_name

String

资产名称

resource_detail

Object

资产细节

表9 Match

参数

参数类型

描述

key

String

键。第一期限定为resource_name,后续扩展。

value

String

值。每个值最大长度255个unicode字符 。不校验字符集范。

状态码:400

表10 响应Body参数

参数

参数类型

描述

error_code

String

Error code.

error_msg

String

Error description.

状态码:401

表11 响应Body参数

参数

参数类型

描述

error_code

String

Error code.

error_msg

String

Error description.

状态码:403

表12 响应Body参数

参数

参数类型

描述

error_code

String

Error code.

error_msg

String

Error description.

状态码:404

表13 响应Body参数

参数

参数类型

描述

error_code

String

Error code.

error_msg

String

Error description.

状态码:500

表14 响应Body参数

参数

参数类型

描述

error_code

String

Error code.

error_msg

String

Error description.

请求示例

POST /v1/{project_id}/{resource_type}/resource_instances/filter

{
  "offset" : "100",
  "limit" : "100",
  "matches" : [ {
    "key" : "resource_name",
    "value" : "resource1"
  } ],
  "not_tags" : [ {
    "key" : "key1",
    "values" : [ "*value1", "value2" ]
  } ],
  "tags" : [ {
    "key" : "key1",
    "values" : [ "*value1", "value2" ]
  } ],
  "tags_any" : [ {
    "key" : "key1",
    "values" : [ "value1", "value2" ]
  } ],
  "not_tags_any" : [ {
    "key" : "key1",
    "values" : [ "value1", "value2" ]
  } ],
  "sys_tags" : [ {
    "key" : "_sys_enterprise_project_id",
    "values" : [ "5aa119a8-d25b-45a7-8d1b-88e127885635" ]
  } ]
}

响应示例

状态码:200

请求成功

{
  "not_tags" : [ {
    "key" : "key1",
    "values" : [ "value1", "*value2" ]
  } ],
  "tags" : [ {
    "key" : "key1",
    "values" : [ "value1", "value2" ]
  }, {
    "key" : "key2",
    "values" : [ "value1", "value2" ]
  } ],
  "tags_any" : [ {
    "key" : "key1",
    "values" : [ "value1", "value2" ]
  } ],
  "not_tags_any" : [ {
    "key" : "key1",
    "values" : [ "value1", "value2" ]
  } ],
  "sys_tags" : [ {
    "key" : "_sys_enterprise_project_id",
    "values" : [ "5aa119a8-d25b-45a7-8d1b-88e127885635" ]
  } ],
  "matches" : [ {
    "key" : "resource_name",
    "value" : "resource1"
  } ]
}

状态码

状态码

描述

200

请求成功

400

参数非法

401

鉴权失败

403

权限不足

404

资源未找到

500

系统异常

错误码

请参见错误码

相关文档