更新时间:2024-03-05 GMT+08:00

根据标签查询共享详情

功能介绍

根据标签查询共享实详情。

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权限可以使用此字段做资源实例过滤条件:

    1. 目前TMS调用时只包含一个tag结构体 key:_sys_enterprise_project_id。
    2. 目前TMS调用时key下面只包含一个value,0表示默认企业项目。
    3. 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权限才可以获取此字段:

    1. 目前只包含一个tag结构体 key:_sys_enterprise_project_id。
    2. 目前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
    }

状态码

  • 正常

    200

  • 异常

    状态码

    说明

    400 Bad Request

    无效输入。

    401 Unauthorized

    鉴权失败。

    403 Forbidden

    对被请求页面的访问被禁止。

    404 Not Found

    资源未找到。

    500 Internal Server Error

    请求未完成。服务异常。