更新时间:2022-01-25 GMT+08:00

查询资源实例接口

功能介绍

使用标签过滤查询租户下资源的实例。

URI

POST /v1/{project_id}/{resource_type}/resource_instances/action

参数说明如表1所示。
表1 参数说明

名称

是否必选

参数类型

描述

project_id

String

项目ID。

resource_type

String

资源类型,值为:endpoint_service或endpoint。

请求消息

  • 参数说明
    表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"
              }
          ]
      }

响应消息

  • 参数说明
    表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": "resouece1",
                  "tags": [
                      {
                          "key": "key1","value": "value1"
                      },
                      {
                          "key": "key2","value": "value1"
                      }
                  ]
              }
          ],
          "total_count": 1000
      }
    • action为count时响应体
      {
          "total_count": 1000
      }

状态码

状态码请参见状态码