根据标签查询共享详情
功能介绍
根据标签查询共享实详情。
URI
- POST /v2/{project_id}/sfs/resource_instances/action
- 参数说明
参数
是否必选
参数类型
描述
project_id
是
String
操作用户的项目ID,获取方法请参见获取项目ID。
请求消息头
该操作消息头与普通请求一样,请参见表3。
请求消息
- 参数说明
参数
是否必选
参数类型
描述
offset
否
String
索引位置。整型数字字符串,默认为0,必须为数字,不能为负数。返回的结果中第一条记录为符合查询条件的第offset+1条记录。
limit
否
String
查询记录数。整型数字字符串,默认为1000。最小值为1,最大值为1000。
返回的结果中记录数不超过limit。
action
是
String
操作标识。取值范围为:“filter”和“count”。
根据标签查询共享详情时使用“filter”。
matches
否
Array of matchs
共享资源搜索字段。当该字段不设置时,默认为搜索租户的所有共享。
tags
否
Array of tags
标签搜索字段。包含标签,结果返回满足tags搜索条件的共享资源列表。搜索条件中所有tag之间是“与”的关系,即只有当所有tag搜索条件都满足时,共享资源才可以被搜索。每个tag搜索条件的key-values结构中values数组的值之间是“或”的关系。无tags过滤条件时,默认认为这个标签搜索字段满足要求。最多包含10个key,每个key下面的value最多10个,每个key对应的value可以为空数组但结构体不能缺失。key不能重复,同一个key-values结构中values的值之间不能重复。
tags_any
否
Array of tags
标签搜索字段。包含任意标签,结果返回满足tags_any搜索条件的共享资源列表。搜索条件中所有tag之间是“或”的关系,即只要有其中一个tag搜索条件满足要求时,共享资源便可以被搜索。每个tag搜索条件的key-values结构中values数组之间是“或”的关系。无tags_any过滤条件时,默认认为这个标签搜索字段满足要求。查询条件最多包含10个key,每个key下面的value最多10个, 每个key对应的value可以为空数组但结构体不能缺失。key不能重复,同一个key-values结构中values的值之间不能重复。
not_tags
否
Array of tags
标签搜索字段。不包含标签,结果返回满足not_tags搜索条件的共享资源列表,搜索条件中所有tag之间是“或非”的关系,即只有当所有tag搜索条件都不满足要求时,共享资源才可以被搜索。每个tag搜索条件的key-values结构中values数组的值之间是“或”的关系。无not_tags过滤条件时,默认认为这个标签搜索字段满足要求。最多包含10个key,每个key下面的value最多10个,每个key对应的value可以为空数组但结构体不能缺失。key不能重复,同一个key-values结构中values的值之间不能重复。
not_tags_any
否
Array of tags
标签搜索字段。不包含任意标签,结果返回满足not_tags_any搜索条件的共享资源列表,查询条件中所有tag之间是“与非”的关系,即只要有一个tag搜索条件不满足要求时,共享资源便可以被搜索。每个tag搜索条件的key-values结构中values数组之间是“或”的关系。无not_tags_any过滤条件时,默认认为这个标签搜索字段满足要求。查询条件最多包含10个key,每个key下面的value最多10个, 每个key对应的value可以为空数组但结构体不能缺失。key不能重复,同一个key-values结构中values的值之间不能重复。
sys_tags
否
Array of tags
仅op_service权限可以使用此字段做资源实例过滤条件:
- 目前TMS调用时只包含一个tag结构体 key:_sys_enterprise_project_id。
- 目前TMS调用时key下面只包含一个value,0表示默认企业项目。
- sys_tags和租户标签过滤条件(tags、tags_any、not_tags、not_tags_any)不能同时使用。
请求参数中,标签搜索字段tags/not_tags/tags_any/not_tags_any为非必选且可以任意自由组合,标签搜索字段tags/not_tags/tags_any/not_tags_any之间为“与”的关系。
- match字段说明:
参数
是否必选
参数类型
描述
key
是
String
键。固定值为"resource_name"。
value
是
String
值。需要查询的共享的名称。value为空字符串时,精确匹配名称为空的共享,为非空字符串时模糊匹配(不区分大小写)。每个值最大长度为255个字符 。
- tag字段说明:
参数
是否必选
参数类型
描述
key
是
String
标签的键。最大长度127个字符。 key不能为空。
values
是
Array of strings
值列表。每个值最大长度255个字符,如果values为空列表,则表示匹配任意值value。value之间为或的关系。
- 请求样例
根据标签查询共享详情,要查询的共享的标签的键是“key1”,值为“value2”。
{ "offset": "0", "limit": "100", "action": "filter", "matches": [{ "key": "resource_name", "value": "share_name" }], "tags": [{ "key": "key1", "values": ["value2"] }, { "key": "key2", "values": [] }], "tags_any": [{ "key": "key3", "values": ["value3"] }, { "key": "key4", "values": [] }], "not_tags": [{ "key": "key5", "values": ["value5"] }, { "key": "key6", "values": [] }], "not_tags_any": [{ "key": "key7", "values": ["value7", "value8"] }, { "key": "key9", "values": [] }] }
- 请求样例(无matches查询条件)
{ "offset": "0", "limit": "100", "action": "filter", "tags": [{ "key": "key1", "values": ["value2"] }, { "key": "key2", "values": [] }] }
- 请求样例(无limit和offset分页查询条件)
{ "action": "filter", "matches": [{ "key": "resource_name", "value": "share_name" }], "tags": [{ "key": "key1", "values": ["value2"] }, { "key": "key2", "values": [] }] }
- 请求样例(无tags/not_tags/tags_any/not_tags_any标签查询条件)
{ "offset": "0", "limit": "100", "action": "filter", "matches": [{ "key": "resource_name", "value": "share_name" }] }
- 请求样例(仅存在action字段)
{ "action": "filter" }
响应消息
- 参数说明
参数
参数类型
描述
resources
Array of resources
符合查询条件的共享资源列表。
total_count
Integer
符合查询条件的共享资源总个数。
说明:查询条件中的分页参数offset和limit对于total_count字段不会产生作用,即该字段显示的是满足查询条件共享资源的总个数,而非分页后返回的共享资源的个数。
- resource 字段数据结构说明
参数
参数类型
描述
resource_id
String
共享ID。
resource_detail
Object
资源详情。资源对象,用于扩展。默认为空。
tags
Array of resource_tags
标签列表,没有标签时默认为空数组。
sys_tags
Array of tags
仅op_service权限才可以获取此字段:
- 目前只包含一个tag结构体 key:_sys_enterprise_project_id。
- 目前key下面只包含一个value,0表示默认企业项目 。
非op_service场景不能返回此字段。
resource_name
String
资源名称。
- resource_tag 字段数据结构说明
参数
参数类型
描述
key
String
标签的键。最大长度36个字符。key不能为空。 不能包含非打印字符ASCII(0-31),“=”,“*”,“<”,“>”,“\”,“,”,“|”,“/”。
value
String
标签的值。每个值最大长度43个字符,可以为空字符串。 不能包含非打印字符ASCII(0-31),“=”,“*”,“<”,“>”,“\”,“,”,“|”,“/”。
- 响应样例
{ "resources":[ { "resource_detail":{}, "resource_id":"b1f3f06f-344d-446b-a4bf-647a225debae", "resource_name":"share_name", "tags":[ { "key":"key1", "value": "value1" }, { "key":"key2", "value": "value2" } ] } ], "total_count":1 }