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

查询数据库代理信息列表

功能介绍

查询数据库代理信息列表。

调用方法

请参见如何调用API

URI

GET /v3/{project_id}/instances/{instance_id}/proxies

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

租户在某一Region下的project ID。

获取方法请参见获取项目ID

instance_id

String

实例ID,严格匹配UUID规则。

表2 Query参数

参数

是否必选

参数类型

描述

offset

Integer

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

limit

Integer

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

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

通过调用IAM服务获取用户Token接口获取。

请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。

X-Language

String

请求语言类型。默认en-us。 取值范围:

  • en-us

  • zh-cn

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

proxy_list

Array of MysqlShowProxyResponseV3 objects

数据库代理信息列表。

表5 MysqlShowProxyResponseV3

参数

参数类型

描述

proxy

MysqlProxyV3 object

数据库代理信息。

master_node

MysqlProxyNodeV3 object

主节点信息。

readonly_nodes

Array of MysqlProxyNodeV3 objects

只读节点信息。

表6 MysqlProxyV3

参数

参数类型

描述

pool_id

String

数据库代理ID。

status

String

数据库代理开启状态。

取值:

  • ACTIVE:表示数据库代理正常。

  • FAILED:表示数据库代理创建失败。

  • DELETED:表示数据库代理已删除。

  • ABNORMAL:表示数据库代理异常。

  • ENABLING PROXY:表示数据库代理正在开启。

  • DISABLING PROXY:表示数据库代理正在关闭。

  • ADDING PROXY NODE:表示数据库代理正在扩容。

  • DELETING READ REPLICAS FROM PROXY:表示数据库代理正在移除只读节点。

  • ADDING READ REPLICAS TO PROXY:表示数据库代理正在添加只读节点。

  • CHANGING WEIGHTS:表示数据库代理正在修改只读节点权重。

address

String

Proxy读写分离地址。

port

Integer

Proxy端口信息。

pool_status

String

数据库代理状态。

取值范围:

  • ACTIVE:表示数据库代理正常。

  • ABNORMAL:表示数据库代理异常。

  • FAILED:表示数据库代理创建失败。

  • DELETED:表示数据库代理已删除。

delay_threshold_in_seconds

Integer

延时阈值,单位:秒。

elb_vip

String

Elb模式的虚拟IP信息。

eip

String

弹性公网IP地址地址信息。

vcpus

String

数据库代理规格的CPU数量。

ram

String

数据库代理规格的内存数量。

node_num

Integer

数据库代理节点个数。

mode

String

数据库代理主备模式,取值范围:Cluster。

nodes

Array of MysqlProxyNodes objects

数据库代理节点信息。

flavor_ref

String

数据库代理规格信息。

name

String

数据库代理名称。

transaction_split

String

数据库代理事务拆分开关状态。

  • ON:开启。

  • OFF:关闭。

connection_pool_type

String

连接池类型。

取值范围:

  • CLOSED: 关闭连接池。

  • SESSION: 开启会话级连接池。

switch_connection_pool_type_enabled

Boolean

数据库代理版本是否支持会话级连接池。

取值范围:

  • true: 支持。

  • false: 不支持。

route_mode

Integer

数据库代理路由模式,默认为0,权重负载模式。

取值范围:

  • 0:表示权重负载模式。

  • 1:表示负载均衡模式(数据库主节点不接受读请求)。

  • 2:表示负载均衡模式(数据库主节点接受读请求)。

balance_route_mode_enabled

Boolean

数据库代理版本是否支持负载均衡模式。

取值范围:

  • true 支持;

  • false 不支持。

consistence_mode

String

一致性模式。默认值为空,此时以会话一致性参数session_consistence的值为准。

取值范围:

  • session: 会话一致性。

  • global: 全局一致性。

  • eventual: 最终一致性。

subnet_id

String

数据库代理所属的子网ID。

ssl_option

String

SSL数据加密开关设置。

取值范围:

  • true: 开启SSL数据加密。

  • false: 关闭SSL数据加密。

new_node_auto_add_status

String

新增节点是否自动加入该Proxy。

取值范围:

  • ON:自动加入。

  • OFF:不自动加入。

new_node_weight

Integer

新增节点的读权重。

表7 MysqlProxyNodes

参数

参数类型

描述

id

String

数据库代理节点ID。

status

String

数据库代理节点状态。

取值范围:

  • ACTIVE:表示节点正常。

  • ABNORMAL:表示节点异常。

  • FAILED:表示节点失败。

  • DELETED:表示节点已删除。

name

String

数据库代理节点名称。

role

String

数据库代理节点角色:

  • master:主节点。

  • slave:备节点。

az_code

String

可用区。

frozen_flag

Integer

数据库代理节点是否被冻结。

取值范围:

  • 0:未冻结。

  • 1:冻结。

  • 2:冻结删除。

表8 MysqlProxyNodeV3

参数

参数类型

描述

id

String

节点ID。

instance_id

String

实例ID,严格匹配UUID规则。

status

String

节点状态。

name

String

节点名称。

weight

Integer

节点读写分离读权重。

availability_zone

Array of MysqlProxyAvailable objects

可用区信息。

表9 MysqlProxyAvailable

参数

参数类型

描述

code

String

可用区编码。

description

String

可用区描述。

状态码: 400

表10 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误消息。

状态码: 500

表11 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误消息。

请求示例

查询实例的数据库代理信息列表。

GET https://{endpoint}/v3/054e292c9880d4992f02c0196d3ea468/instances/517ea793ab91438cbfcd9c4b1c958b1ein07/proxies?offset=0&limit=10

响应示例

状态码: 200

Success.

{
  "proxy_list" : [ {
    "proxy" : {
      "pool_id" : "2e7cf21d14794bafab623a334efd9ad8po01",
      "status" : "ACTIVE",
      "address" : "192.168.125.69",
      "port" : 3306,
      "pool_status" : "ACTIVE",
      "delay_threshold_in_seconds" : 30,
      "elb_vip" : "192.168.125.60",
      "eip" : "192.168.125.50",
      "vcpus" : 4,
      "ram" : 8,
      "node_num" : 2,
      "mode" : "Cluster",
      "nodes" : [ {
        "id" : "db53a238a02240c49365e72e284a4890pn01",
        "name" : "PROXY-2e7cf21d14794bafab623a334efd9ad8po01_0",
        "role" : "master",
        "az_code" : "az1xahz",
        "status" : "ACTIVE",
        "frozen_flag" : 0
      } ],
      "name" : "proxy-name",
      "connection_pool_type" : "SESSION",
      "switch_connection_pool_type_enabled" : true,
      "route_mode" : 1,
      "balance_route_mode_enabled" : true,
      "transaction_split" : "OFF",
      "consistence_mode" : "session",
      "subnet_id" : "6991d82d-9166-4aff-a1fa-d2a8748b7084",
      "new_node_auto_add_status" : "ON",
      "new_node_weight" : 100
    },
    "master_node" : {
      "id" : "c01a5645eb2c4fb6a9373542f5366e50no07",
      "instance_id" : "517ea793ab91438cbfcd9c4b1c958b1ein07",
      "status" : "ACTIVE",
      "name" : "taurus_mysql80_x86-ondemand-2-1U4G_1_202103070251274842281_node01",
      "weight" : 0,
      "availability_zone" : [ {
        "code" : "az1",
        "description" : "可用区1"
      } ]
    },
    "readonly_nodes" : {
      "id" : "d23535333138462880bfa1838fdfced2no07",
      "instance_id" : "517ea793ab91438cbfcd9c4b1c958b1ein07",
      "status" : "ACTIVE",
      "name" : "taurus_mysql80_x86-ondemand-2-1U4G_1_202103070251274842281_node02",
      "weight" : 100,
      "availability_zone" : [ {
        "code" : "az1",
        "description" : "可用区1"
      } ]
    }
  } ]
}

SDK代码示例

SDK代码示例如下。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.gaussdb.v3.region.GaussDBRegion;
import com.huaweicloud.sdk.gaussdb.v3.*;
import com.huaweicloud.sdk.gaussdb.v3.model.*;


public class ShowGaussMySqlProxyListSolution {

    public static void main(String[] args) {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        String ak = System.getenv("CLOUD_SDK_AK");
        String sk = System.getenv("CLOUD_SDK_SK");

        ICredential auth = new BasicCredentials()
                .withAk(ak)
                .withSk(sk);

        GaussDBClient client = GaussDBClient.newBuilder()
                .withCredential(auth)
                .withRegion(GaussDBRegion.valueOf("<YOUR REGION>"))
                .build();
        ShowGaussMySqlProxyListRequest request = new ShowGaussMySqlProxyListRequest();
        request.withOffset(<offset>);
        request.withLimit(<limit>);
        try {
            ShowGaussMySqlProxyListResponse response = client.showGaussMySqlProxyList(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# coding: utf-8

from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkgaussdb.v3.region.gaussdb_region import GaussDBRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkgaussdb.v3 import *

if __name__ == "__main__":
    # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak = __import__('os').getenv("CLOUD_SDK_AK")
    sk = __import__('os').getenv("CLOUD_SDK_SK")

    credentials = BasicCredentials(ak, sk) \

    client = GaussDBClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(GaussDBRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = ShowGaussMySqlProxyListRequest()
        request.offset = <offset>
        request.limit = <limit>
        response = client.show_gauss_my_sql_proxy_list(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    gaussdb "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/gaussdb/v3"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/gaussdb/v3/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/gaussdb/v3/region"
)

func main() {
    // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak := os.Getenv("CLOUD_SDK_AK")
    sk := os.Getenv("CLOUD_SDK_SK")

    auth := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        Build()

    client := gaussdb.NewGaussDBClient(
        gaussdb.GaussDBClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.ShowGaussMySqlProxyListRequest{}
	offsetRequest:= int32(<offset>)
	request.Offset = &offsetRequest
	limitRequest:= int32(<limit>)
	request.Limit = &limitRequest
	response, err := client.ShowGaussMySqlProxyList(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。

状态码

状态码

描述

200

Success.

400

Client error.

500

Server error.

错误码

请参见错误码

分享:

    相关文档

    相关产品