更新时间:2024-11-05 GMT+08:00
分享

查询资源实例列表

功能介绍

使用标签过滤资源实例。优先按照资源创建时间倒序排序。

URI

  • POST /v3/sfs/tms/{project_id}/file-systems/resource-instances/filter
  • 参数说明

    参数

    是否必选

    参数类型

    描述

    project_id

    String

    操作用户的项目ID,获取方法请参见获取项目ID

    limit

    Int

    查询记录数。默认为1000,limit最大为1000,最小值为1,不能为负数。

    offset

    Int

    索引位置。 从第一条数据偏移offset条数据后开始查询。默认为0(偏移0条数据,表示从第一条数据开始查询),必须为数字,不能为负数。

请求参数

表1 请求Header参数

参数

是否必选

参数类型

描述

Content-type

String

发送的实体的MIME类型。

示例:application/json。

X-Auth-Token

String

用户Token。

表2 请求Body参数

参数

是否必选

参数类型

描述

without_any_tag

boolean

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

tags

List<tag>

包含标签。最多包含20个tag。tag之间Key不能重复,每个key下面的value最多20个,每个key对应的value可以为空数组但结构体不能缺失,且同一个key中values不能重复。

结果返回包含所有标签的资源列表,key之间是与的关系,key-value结构中value是或的关系。无tag过滤条件时返回全量数据。

详细说明参见表3

sys_tags

List<tag>

包含系统标签。仅op_service权限可以使用此字段。

sys_tags和过滤条件without_any_tag 、tags不能同时使用。

目前此字段只包含一个tag结构体:

key:_sys_enterprise_project_id

value:企业项目id列表

目前key下面只包含一个value。0表示默认企业项目。

详细说明参见表3

matches

List<match>

搜索字段。match中key为固定字典值,当前key固定为resource_name,表示根据key对应的value值实现前缀搜索,后续再扩展。

详细说明参见表4

表3 tag

参数

是否必选

参数类型

描述

key

String

标签的键。最大长度为128个字符,不能为空,首尾不支持空格字符,以“_sys_”开头的键属于系统标签,不支持用户输入,可用UTF-8格式表示的任意语种的字母、数字和空格,以及“_”、“.”、“:”、“=”、“+”、“-”、“@”。

values

List<String>

值列表。value可为空数组但不可缺省。如果values为空列表,则表示查询任意value。value之间为或的关系。

表4 match

参数

是否必选

参数类型

描述

key

String

键。当前限定为resource_name,后续扩展。

value

String

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

响应参数

表5 响应body参数

参数

是否必选

参数类型

描述

resources

List<resource>

资源实例列表。详情说明参见表6

total_count

Integer

总记录数。

表6 resource

参数

是否必选

参数类型

描述

resource_id

String

资源ID。

resource_detail

Object

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

tags

List<resource_tag>

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

详情说明参见表3

sys_tags

List<resource_tag>

仅op_service权限才可以获取此字段。

目前只包含一个resource_tag 结构体:

key:_sys_enterprise_project_id

value:企业项目id,0表示默认企业项目。

详情说明参见表3

resource_name

String

资源名称,资源没有名称时默认为空字符串。

请求示例

projectId为“c80a2157ba1d46c0825265947342077c”,offset为0,limit为10,查询资源实例示例:

POST https://{endpoint}/v3/sfs/tms/c80a2157ba1d46c0825265947342077c/file-systems/resource-instances/filter?limit=10&offset=0

请求体示例:

{
    "tags":[
        {
            "key":"key1",
            "values":[
                "value1",
                "value2"
            ]
        },
        {
            "key":"key2",
            "values":[
                "value1",
                "value2"
            ]
        }
    ],
    "matches":[
        {
            "key":"resource_name",
            "value":"resource1"
        }
    ],
    "without_any_tag":"false"
}

响应示例

{
    "resources":[
        {
            "resource_detail":"",
            "resource_id":"resouece1",
            "resource_name":"resouece1",
            "tags":[
                {
                    "key":"key1",
                    "value":"value1"
                }
            ],
            "sys_tags":[]
        }
    ],
    "total_count":1
}

状态码

  • 正常

状态码

描述

200

查询资源实例列表成功。

  • 异常

状态码

描述

400

标签等参数非法。

401

认证失败。

403

鉴权失败。

404

资源未找到。

500

系统异常。

相关文档