更新时间:2023-11-21 GMT+08:00

查询资源实例

功能介绍

根据标签查询指定的数据库实例。

接口约束

该接口支持如下数据库实例:

  • GeminiDB Cassandra
  • GeminiDB Mongo
  • GeminiDB Influx
  • GeminiDB Redis

一个数据库实例具有20个标签配额,且标签key唯一。

URI

POST https://{Endpoint}/v3/{project_id}/instances/resource-instances/action

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

租户在某一region下的project ID。获取方法请参见获取项目ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

表3 请求Body参数

参数

是否必选

参数类型

描述

offset

String

索引位置偏移量,表示从第一条数据偏移offset条数据后开始查询。

  • “action”值为“count”时,不传该参数。
  • “action”值为“filter”时,取值必须为数字,不能为负数。默认取0值,表示从第一条数据开始查询。'

limit

String

查询记录数。

  • “action”值为“count”时,不传该参数。
  • “action”值为“filter”时,取值范围:1~100。不传该参数时,默认查询前100条实例信息。

action

String

操作标识。

  • 取值为“filter”,表示根据标签过滤条件查询实例。
  • 取值为“count”,表示仅返回总记录数,禁止返回其他字段。

matches

Array of MatchOption objects

搜索字段。

  • 该字段值为空,表示不按照实例名称或实例ID查询。
  • 该字段值不为空。

tags

Array of TagOption objects

包含标签,最多包含20个key。

表4 MatchOption

参数

是否必选

参数类型

描述

key

String

取值为“instance_name”或“instance_id”,分别表示按实例名称或按实例ID匹配查询。

value

String

待匹配的实例名称或实例ID。

表5 TagOption

参数

是否必选

参数类型

描述

key

String

标签键。最大长度36个unicode字符,key不能为空或者空字符串,不能为空格,校验和使用之前先排除前后半角空格。

说明:

搜索时不对该参数做字符集校验。

values

Array of strings

标签值列表。最大长度43个unicode字符,不能为空格,校验和使用之前先排除前后半角空格。

如果values为空列表,则表示查询任意value。value之间为或的关系。

响应参数

状态码: 200

表6 响应Body参数

参数

参数类型

描述

instances

Array of InstanceResult objects

实例列表。

total_count

Integer

总记录数。

表7 InstanceResult

参数

参数类型

描述

instance_id

String

实例ID。

instance_name

String

实例名称。

tags

Array of InstanceTagResult objects

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

表8 InstanceTagResult

参数

参数类型

描述

key

String

标签键。最大长度36个unicode字符,key不能为空。

字符集:0-9,A-Z,a-z,“_”,“-”,中文。

value

String

标签值。最大长度43个unicode字符,可以为空字符串。

字符集:0-9,A-Z,a-z,“_”,“.”,“-”,中文。

请求示例

  • URI样例
    POST https://gaussdb-nosql.ap-southeast-1.myhuaweicloud.com/v3/375d8d8fad1f43039e23d3b6c0f60a19/instances/resource-instances/action
  • 请求体样例

    根据实例名称查询实例,索引位置偏移量为100,查询100条数据

    {
      "offset" : 100,
      "limit" : 100,
      "action" : "filter",
      "matches" : [{
        "key" : "instance_name",
        "value" : "test-single"
      }],
      "tags" : [{
        "key" : "key1",
        "values" : [ "value1", "value2" ]
      }]
    }

    查询总记录数

    {
      "action" : "count",
      "tags" : [ {
        "key" : "key1",
        "values" : [ "value1", "value2" ]
      }, {
        "key" : "key2",
        "values" : [ "value1", "value2" ]
      } ],
      "matches" : [ {
        "key" : "instance_name",
        "value" : "test-single"
      }, {
        "key" : "instance_id",
        "value" : "958693039f284d6ebfb177375711072ein06"
      } ]
    }

响应示例

状态码: 200

Success

{
  "total_count": 1,
  "instances" : [{
    "instance_id" : "2acbf2223caf3bac3c33c6153423c3ccin06",
    "instance_name" : "test-single",
    "tags" : [ {
      "key" : "key1",
      "value" : "value1"
    }, {
      "key" : "key2",
      "value" : "value1"
    } ]
  }]
}

状态码

请参见状态码

错误码

请参见错误码