查询资源实例接口
功能介绍
使用标签过滤查询租户下资源的实例。
请求消息
- 参数说明
表2 请求参数 名称
是否必选
参数类型
描述
tags
否
List<tag>
包含标签,最多包含10个key,每个key下面的value最多10个,每个key对应的value可以为空数组但结构体不能缺失。Key不能重复,同一个key中values不能重复。结果返回包含所有标签的资源列表,key之间是与的关系,key-value结构中value是或的关系。无tag过滤条件时返回全量数据。
tags_any
否
List<tag>
包含任意标签,最多包含10个key,每个key下面的value最多10个,每个key对应的value可以为空数组但结构体不能缺失。Key不能重复,同一个key中values不能重复。结果返回包含标签的资源列表,key之间是或的关系,key-value结构中value是或的关系。无过滤条件时返回全量数据。
not_tags
否
List<tag>
不包含标签,最多包含10个key,每个key下面的value最多10个,每个key对应的value可以为空数组但结构体不能缺失。Key不能重复,同一个key中values不能重复。结果返回不包含标签的资源列表,key之间是与的关系,key-value结构中value是或的关系。无过滤条件时返回全量数据。
not_tags_any
否
List<tag>
不包含任意标签,最多包含10个key,每个key下面的value最多10个,每个key对应的value可以为空数组但结构体不能缺失。Key不能重复,同一个key中values不能重复。结果返回不包含标签的资源列表,key之间是与的关系,key-value结构中value是或的关系。无过滤条件时返回全量数据。
limit
否
String
查询记录数(action为count时无此参数)如果action为filter默认为1000,limit最多为1000,不能为负数,最小值为1。
offset
否
String
索引位置,偏移量(action为count时无此参数)从第一条数据偏移offset条数据后开始查询,如果action为filter默认为0(偏移0条数据,表示从第一条数据开始查询),必须为数字,不能为负数。
action
是
String
操作标识(仅限于filter,count):filter(过滤),count(查询总条数)
如果是filter就按照过滤条件查询,如果是count,只需要返回总条数,禁止返回其他字段。
matches
否
List<match>
搜索字段,key为要匹配的字段,如resource_name等。value为匹配的值。key为固定字典值,不能包含重复的key或不支持的key。
根据key的值确认是否需要模糊匹配,如resource_name默认为模糊搜索(不区分大小写),如果value为空字符串精确匹配(多数服务不存在资源名称为空的情况,因此此类情况返回空列表)。resource_id为精确匹配。第一期只做resource_name,后续再扩展。
表3 tag字段数据结构说明 名称
是否必选
参数类型
描述
key
是
String
键。最大长度127个unicode字符。key不能为空。(搜索时不对此参数做字符集校验),key不能为空或者空字符串,不能为空格,校验和使用之前先trim前后半角空格。
values
是
List<String>
值列表。每个值最大长度255个unicode字符,校验和使用之前先trim前后半角空格。
value可为空数组但不可缺省。
如果values为空列表,则表示any_value(查询任意value)。value之间为或的关系。
(搜索时不对此参数做字符集校验,只做长度校验)
表4 match字段数据结构说明 名称
是否必选
参数类型
描述
key
是
String
键。第一期限定为resource_name,后续扩展。
value
是
String
值。每个值最大长度255个unicode字符。不校验字符集范。
- 请求样例
POST https://127.0.0.1:7443/v1/{project_id}/endpoint_service/resource_instances/action
或POST https://127.0.0.1:7443/v1/{project_id}/endpoint/resource_instances/action
或POST https://127.0.0.1:7443/v1/{project_id}/{resource_type}/resource_instances/action
- action为filter时请求体
{ "offset": "100", "limit": "100", "action": "filter", "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" ] } ] }
- action为count时请求体
{ "action": "count", "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" ] } ], "matches": [ { "key": "resource_name", "value": "resource1" } ] }
- action为filter时请求体
响应消息
- 参数说明
表5 要素说明 名称
参数类型
描述
resources
List<resource>
-
total_count
Integer
总记录数。
表6 resource字段数据结构说明 名称
参数类型
描述
resource_id
String
资源ID,Endpoint Service ID或Endpoint ID。
tags
List<resource_tag>
标签列表,没有标签默认为空数组。
resource_name
String
资源名称,资源没有名称时,返回ID。
表7 resource_tag字段数据结构说明 名称
参数类型
描述
key
String
键。
value
String
值。
- 响应样例
- action为filter时响应体
{ "resources": [ { "resource_detail": null, "resource_id": "cdfs_cefs_wesas_12_dsad", "resource_name": "resource1", "tags": [ { "key": "key1","value": "value1" }, { "key": "key2","value": "value1" } ] } ], "total_count": 1000 }
- action为count时响应体
{ "total_count": 1000 }
- action为filter时响应体
状态码
状态码请参见状态码。