
# 查询资源实例列表 - ListResourcesByTag
#### 功能介绍
使用标签过滤资源实例。优先按照资源创建时间倒序排序。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-sfs/sfs_02_0079.html)。
#### 接口约束
如果您将标签权限制在某个企业项目中，将无法访问TMS平台，查询资源实例列表时会失败。
#### URI
- POST /v3/sfs/tms/{project_id}/file-systems/resource-instances/filter

- 参数说明
  
  | 参数         | 是否必选 | 参数类型   | 描述                                                                                   |
  |:---|:---|:---|:---|
  | project_id | 是    | String | 操作用户的项目ID，获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-sfs/sfs_02_0090.html)。 |
  | 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]。                                                                                                                                                                                                                                               |
   
 表3tag 
| 参数     | 是否必选 | 参数类型           | 描述                                                                                                                  |
|:---|:---|:---|:---|
| key    | 是    | String         | 标签的键。最大长度为128个字符，不能为空，首尾不支持空格字符，以"_sys_"开头的键属于系统标签，不支持用户输入，可用UTF-8格式表示的任意语种的字母、数字和空格，以及"_"、"."、":"、"="、"+"、"-"、"@"。 |
| values | 是    | List\<String\> | 值列表。value可为空数组但不可缺省。如果values为空列表，则表示查询任意value。value之间为或的关系。                                                         |
   
 表4match 
| 参数    | 是否必选 | 参数类型   | 描述                               |
|:---|:---|:---|:---|
| key   | 是    | String | 键。当前限定为resource_name，后续扩展。       |
| value | 是    | String | 值。每个值最大长度255个Unicode字符 。不校验字符集范。 |
   
#### 响应参数
表5响应body参数 
| 参数          | 是否必选 | 参数类型                                                | 描述                                                  |
|:---|:---|:---|:---|
| resources   | 是    | List\<[resource]\> | 资源实例列表。详情说明参见[表6]。 |
| total_count | 是    | Integer                                             | 总记录数。                                               |
   
 表6resource 
| 参数              | 是否必选 | 参数类型                                                                                                            | 描述                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| resource_id     | 是    | String                                                                                                          | 资源ID。                                                                                                                                                                                                                                                                                                                                   |
| resource_detail | 是    | Object                                                                                                          | 资源详情。默认为空。 资源对象，用于扩展。                                                                                                                                                                                                                                                                                                                   |
| tags            | 是    | List\<[resource_tag](https://support.huaweicloud.com/api-sfs/sfs_03_0002.html#sfs_03_0002__table667613216170)\> | 标签列表。没有标签默认为空数组。 详情说明参见[表3](https://support.huaweicloud.com/api-sfs/sfs_03_0002.html#sfs_03_0002__table667613216170)。                                                                                                                                                                                      |
| sys_tags        | 否    | List\<[resource_tag](https://support.huaweicloud.com/api-sfs/sfs_03_0002.html#sfs_03_0002__table667613216170)\> | 仅op_service权限才可以获取此字段。 目前只包含一个resource_tag 结构体： key：_sys_enterprise_project_id value：企业项目id，0表示默认企业项目。 详情说明参见[表3](https://support.huaweicloud.com/api-sfs/sfs_03_0002.html#sfs_03_0002__table667613216170)。 |
| 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":"resource1",
            "resource_name":"resource1",
            "tags":[
                {
                    "key":"key1",
                    "value":"value1"
                }
            ],
            "sys_tags":[]
        }
    ],
    "total_count":1
}
```
#### 状态码
- 正常
| 状态码 | 描述          |
|:---|:---|
| 200 | 查询资源实例列表成功。 |
   
- 异常
| 状态码 | 描述       |
|:---|:---|
| 400 | 标签等参数非法。 |
| 401 | 认证失败。    |
| 403 | 鉴权失败。    |
| 404 | 资源未找到。   |
| 500 | 系统异常。    |
   
