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

根据标签过滤资源

功能介绍

根据标签过滤资源

调用方法

请参见如何调用API

URI

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

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。

resource_type

String

资源类型,CTS服务固定为cts-tracker。

表2 Query参数

参数

是否必选

参数类型

描述

limit

Integer

查询记录数,不传默认为1000,limit最多为1000, 最小值为1。

offset

String

索引位置, 从offset指定的下一条数据开始查询,必须为数字,不能为负数,默认为0。

请求参数

表3 请求Body参数

参数

是否必选

参数类型

描述

without_any_tag

Boolean

是否仅查询未带标签的资源。该字段为true时查询所有不带标签的资源,此时忽略 “tags”字段。该字段为false或者未提供该参数时,该条件不生效,即返回所有资源或按"tags","matches"等条件过滤。

tags

Array of TmsTags objects

标签列表。最多包含20个key,每个key下面的value最多20个。

matches

Array of Match objects

搜索字段。key为要匹配的字段,value为匹配的值。 如果value为空字符串则精确匹配,否则模糊匹配。

表4 TmsTags

参数

是否必选

参数类型

描述

key

String

键。最大长度128个unicode字符。标签的键可以包含任意语种字母、数字、空格和_ . : = + - @,但首尾不能含有空格

values

Array of strings

value列表

表5 Match

参数

是否必选

参数类型

描述

key

String

键。当前值限定为resource_name。

value

String

值。每个值最大长度255个unicode字符。不能包含“_”,“%”特殊字符。

响应参数

状态码:200

表6 响应Body参数

参数

参数类型

描述

resources

Array of Resource objects

资源标签详情。

total_count

Integer

列表中的项目总数,与分页无关。

表7 Resource

参数

参数类型

描述

resource_id

String

资源ID。

resource_detail

String

资源详情。 资源对象,用于扩展。默认为空。

tags

Map<String,ResourceTag>

标签列表,没有标签默认为空数组。

resource_name

String

资源名称。

表8 ResourceTag

参数

参数类型

描述

key

String

键。最大长度128个unicode字符。标签的键可以包含任意语种字母、数字、空格和_ . : = + - @,但首尾不能含有空格,不能以_sys_开头。

value

String

值。每个值最大长度255个unicode字符,删除时如果value有值按照key/value删除,如果value没值,则按照key删除。标签的值可以包含任意语种字母、数字、空格和_ . : / = + - @,但首尾不能含有空格。

请求示例

根据标签过滤资源

https://{endpoint}/v3/{project_id}/{resource_type}/resource-instances/filter

{
  "offset" : "100",
  "limit" : "100",
  "action" : "filter",
  "without_any_tag" : true,
  "tags" : [ {
    "key" : "key1",
    "values" : [ "*value1", "value2" ]
  } ],
  "tags_any" : [ {
    "key" : "key1",
    "values" : [ "*value1", "value2" ]
  } ],
  "not_tags" : [ {
    "key" : "key1",
    "values" : [ "*value1", "value2" ]
  } ],
  "not_tags_any" : [ {
    "key" : "key1",
    "values" : [ "*value1", "value2" ]
  } ],
  "sys_tags" : [ {
    "key" : "key1",
    "values" : [ "*value1", "value2" ]
  } ],
  "matches" : [ {
    "key" : "resource_name",
    "value" : "resource1"
  } ]
}

响应示例

状态码:200

请求成功。

{
  "total_count" : 1000,
  "resources" : [ {
    "resource_detail" : "",
    "resource_id" : "xxx",
    "resource_name" : "system",
    "tags" : [ {
      "key" : "_sys_enterprise_project_id",
      "value" : "0"
    }, {
      "key" : "key1",
      "value" : "value1"
    } ]
  } ]
}

状态码

状态码

描述

200

请求成功。

错误码

请参见错误码

相关文档