更新时间:2024-04-18 GMT+08:00

查询集群详情

功能介绍

该接口用于查询集群详情。

调用方法

请参见如何调用API

URI

1
GET /v1.0/{project_id}/clusters/{cluster_id}
表1 路径参数

参数

是否必选

参数类型

描述

cluster_id

String

集群ID。获取方法,请参见获取集群ID

project_id

String

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

请求参数

响应参数

状态码: 200

表2 响应Body参数

参数

参数类型

描述

cluster

ClusterDetail object

集群详情对象。

表3 ClusterDetail

参数

参数类型

描述

id

String

集群ID。

name

String

集群名称。

status

String

集群状态,有效值包括:

  • CREATING:创建中

  • ACTIVE:可用

  • FAILED:不可用

  • CREATE_FAILED:创建失败

  • DELETING:删除中

  • DELETE_FAILED:删除失败

  • DELETED:已删除

  • FROZEN:已冻结

    说明:

    如果用户查询返回状态为“AVAILABLE ”,也表示可用。

version

String

数据仓库版本。

updated

String

集群上次修改时间,格式为ISO8601:YYYY-MM-DDThh:mm:ssZ

created

String

集群创建时间,格式为ISO8601:YYYY-MM-DDThh:mm:ssZ

port

Integer

集群服务端口。

endpoints

Array of Endpoints objects

集群的内网连接信息。

nodes

Array of Nodes objects

集群实例。

tags

Array of Tags objects

集群标签。

user_name

String

管理员用户名。

number_of_node

Integer

集群节点数量。

recent_event

Integer

事件数。

availability_zone

String

可用区。

enterprise_project_id

String

企业项目ID。值为0表示默认企业项目“default”。

node_type

String

节点类型,详情请参见数据仓库规格

vpc_id

String

虚拟私有云ID。

subnet_id

String

子网ID。

public_ip

PublicIp object

公网IP地址,如果未指定,则默认不使用公网连接。

public_endpoints

Array of PublicEndpoints objects

集群的公网连接信息,如果未指定,则默认不使用公网连接信息。

action_progress

Map<String,String>

Key值为正在进行的任务,有效值包括:

  • CREATING:创建中

  • RESTORING:恢复中

  • SNAPSHOTTING:快照中

  • GROWING:扩容中

  • REBOOTING:重启中

  • SETTING_CONFIGURATION:安全设置配置中

  • CONFIGURING_EXT_DATASOURCE:MRS连接配置中

  • ADD_CN_ING:增加CN中

  • DEL_CN_ING:删除CN中

  • REDISTRIBUTING:重分布中

  • ELB_BINDING:弹性负载均衡绑定中

  • ELB_UNBINDING:弹性负载均衡解绑中

  • ELB_SWITCHING:弹性负载均衡切换中

  • NETWORK_CONFIGURING:网络配置中

  • DISK_EXPANDING:磁盘扩容中

  • ACTIVE_STANDY_SWITCHOVER:主备恢复中

  • CLUSTER_SHRINKING:缩容中

  • SHRINK_CHECKING:缩容检测中

  • FLAVOR_RESIZING:规格变更中

  • MANAGE_IP_BINDING:登录开通中

  • FINE_GRAINED_RESTORING:细粒度恢复中

  • DR_RECOVERING:容灾恢复中

  • REPAIRING:修复中

value值为正在进行任务的进度。

sub_status

String

“可用”集群状态的子状态,有效值包括:

  • NORMAL:正常
  • READONLY:只读
  • REDISTRIBUTING:重分布中
  • REDISTRIBUTION-FAILURE:重分布失败
  • UNBALANCED:非均衡
  • UNBALANCED | READONLY:非均衡,只读
  • DEGRADED:节点故障
  • DEGRADED | READONLY:节点故障,只读
  • DEGRADED | UNBALANCED:节点故障,非均衡
  • UNBALANCED | REDISTRIBUTING:非均衡,重分布中
  • UNBALANCED | REDISTRIBUTION-FAILURE:非均衡,重分布失败
  • READONLY | REDISTRIBUTION-FAILURE:只读,重分布失败
  • UNBALANCED | READONLY | REDISTRIBUTION-FAILURE:非均衡,只读,重分布失败
  • DEGRADED | REDISTRIBUTION-FAILURE:节点故障,重分布失败
  • DEGRADED | UNBALANCED | REDISTRIBUTION-FAILURE:节点故障,非均衡,只读,重分布失败
  • DEGRADED | UNBALANCED | READONLY | REDISTRIBUTION-FAILURE:节点故障,非均衡,只读,重分布失败
  • DEGRADED | UNBALANCED | READONLY:节点故障,非均衡,只读

task_status

String

集群管理任务,有效值包括:

  • UNFREEZING:解冻中

  • FREEZING:冻结中

  • RESTORING:恢复中

  • SNAPSHOTTING:快照中

  • GROWING:扩容中

  • REBOOTING:重启中

  • SETTING_CONFIGURATION:安全设置配置中

  • CONFIGURING_EXT_DATASOURCE:MRS连接配置中

  • DELETING_EXT_DATASOURCE:删除MRS连接

  • REBOOT_FAILURE:重启失败

  • RESIZE_FAILURE:扩容失败

  • ADD_CN_ING:增加CN中

  • DEL_CN_ING:删除CN中

  • CREATING_NODE:添加节点

  • CREATE_NODE_FAILED:添加节点失败

  • DELETING_NODE:删除节点

  • DELETE_NODE_FAILED:删除节点失败

  • REDISTRIBUTING:重分布中

  • REDISTRIBUTE_FAILURE:重分布失败

  • WAITING_REDISTRIBUTION:待重分布

  • REDISTRIBUTION_PAUSED:重分布暂停

  • ELB_BINDING:弹性负载均衡绑定中

  • ELB_BIND_FAILED:弹性负载均衡绑定失败

  • ELB_UNBINDING:弹性负载均衡解绑中

  • ELB_UNBIND_FAILED:弹性负载均衡解绑失败

  • ELB_SWITCHING:弹性负载均衡切换中

  • ELB_SWITCHING_FAILED:弹性负载均衡切换失败

  • NETWORK_CONFIGURING:网络配置中

  • NETWORK_CONFIG_FAILED:网络配置失败

  • DISK_EXPAND_FAILED:磁盘扩容失败

  • DISK_EXPANDING:磁盘扩容中

  • ACTIVE_STANDY_SWITCHOVER:主备恢复中

  • ACTIVE_STANDY_SWITCHOVER_FAILURE:主备恢复失败

  • CLUSTER_SHRINK_FAILED:缩容失败

  • CLUSTER_SHRINKING:缩容中

  • SHRINK_CHECK_FAILED:缩容检测失败

  • SHRINK_CHECKING:缩容检测中

  • FLAVOR_RESIZING_FAILED:规格变更失败

  • FLAVOR_RESIZING:规格变更中

  • MANAGE_IP_BIND_FAILED:登录开通失败

  • MANAGE_IP_BINDING:登录开通中

  • ORDER_PENDING:订单待支付

  • FINE_GRAINED_RESTORING:细粒度恢复中

  • DR_RECOVERING:容灾恢复中

parameter_group

ParameterGroup object

集群所关联的参数组信息。

node_type_id

String

节点类型ID。

security_group_id

String

安全组ID。

private_ip

Array of strings

内网IP地址列表。

maintain_window

MaintainWindow object

集群维护时间窗信息。

resize_info

ResizeInfo object

集群扩容状态详情。

failed_reasons

FailedReason object

失败原因。如果为空,则集群处于正常状态。

elb

ElbResp object

集群绑定的ELB信息。

表4 Endpoints

参数

参数类型

描述

connect_info

String

内网连接信息。

jdbc_url

String

内网JDBC URL,默认格式如下: jdbc:postgresql://<connect_info>/<YOUR_DATABASE_NAME>

表5 Nodes

参数

参数类型

描述

id

String

集群实例ID。

status

String

集群实例状态码。

  • 100:创建中

  • 199:空闲

  • 200:可用

  • 300:不可用

  • 303:创建失败

  • 304:删除中

  • 305:删除失败

  • 400:已删除

表6 Tags

参数

参数类型

描述

key

String

键。输入标签键的最大长度为128个字符,不能为空字符串,且首尾字符不能为空格。 不能包含“=”,“*”,“<”,“>”,“\”,“,”,“|”,“/”。 只能包含大写字母(A-Z)、小写字母(a-z)、数字(0-9)和特殊字符(中划线-、下划线_)以及中文字符。

value

String

值。输入标签值的最大长度为255个字符,首尾字符不能为空格,可以为空字符串。 不能包含“=”,“*”,“<”,“>”,“\”,“,”,“|”,“/”。 只能包含大写字母(A-Z)、小写字母(a-z)、数字(0-9)和特殊字符(中划线-、下划线_)以及中文字符。

表7 PublicIp

参数

参数类型

描述

public_bind_type

String

弹性IP绑定类型,取值如下:

  • auto_assign:现在购买

  • not_use:暂未使用

  • bind_existing :使用已有

eip_id

String

弹性IP的id。

表8 PublicEndpoints

参数

参数类型

描述

public_connect_info

String

公网连接信息。

jdbc_url

String

公网JDBC URL,默认格式如下: jdbc:postgresql://<public_connect_info>/<YOUR_DATABASE_name>

表9 ParameterGroup

参数

参数类型

描述

id

String

参数组ID。

name

String

参数组名称。

status

String

集群参数状态,有效值包括:

  • In-Sync:已同步

  • Applying:应用中

  • Pending-Reboot:需重启生效

  • Sync-Failure:应用失败

表10 MaintainWindow

参数

参数类型

描述

day

String

每周的维护时间,以天为粒度,取值如下:

  • Mon:星期一

  • Tue:星期二

  • Wed:星期三

  • Thu:星期四

  • Fri:星期五

  • Sat:星期六

  • Sun:星期日

start_time

String

维护开始时间,显示格式为 HH:mm,时区为GMT+0。

end_time

String

维护结束时间,显示格式为 HH:mm, 时区为GMT+0。

表11 ResizeInfo

参数

参数类型

描述

target_node_num

Integer

扩容后的节点数量。

origin_node_num

Integer

扩容前的节点数量。

resize_status

String

扩容状态,取值如下:

  • GROWING:扩容中

  • RESIZE_FAILURE:扩容失败

start_time

String

扩容开始时间,格式为ISO8601:YYYY-MM-DDThh:mm:ss

表12 FailedReason

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误信息。

表13 ElbResp

参数

参数类型

描述

public_ip

String

公网IP。

private_ip

String

内网IP。

private_endpoint

String

ELB终端地址。

name

String

ELB名称。

id

String

ELB的ID。

vpc_id

String

ELB所属VPC的ID。

请求示例

GET https://{Endpoint}/v1.0/89cd04f168b84af6be287f71730fdb4b/clusters/b5c45780-1006-49e3-b2d5-b3229975bbc7

响应示例

状态码: 200

查询集群详情成功。

{
  "cluster" : {
    "id" : "7d85f602-a948-4a30-afd4-e84f47471c15",
    "name" : "dws-1",
    "status" : "AVAILABLE",
    "version" : "1.2.0",
    "updated" : "2018-02-10T14:28:14Z",
    "created" : "2018-02-10T14:28:14Z",
    "port" : 8000,
    "endpoints" : [ {
      "connect_info" : "dws-1.cn-north-4.myhuaweicloud.com",
      "jdbc_url" : "jdbc:postgresql://dws-1.cn-north-4.myhuaweicloud.com/<YOUR_DATABASE_name>"
    } ],
    "nodes" : [ {
      "id" : "acaf62a4-41b3-4106-bf6b-2f669d88291e",
      "status" : "200"
    }, {
      "id" : "d32de51e-4fcd-4e5a-a9dc-bb903abb494b",
      "status" : "200"
    }, {
      "id" : "d71a4a25-c9bc-4ffd-9f4a-e422aef327f9",
      "status" : "200"
    } ],
    "tags" : [ {
      "key" : "key1",
      "value" : "value1"
    }, {
      "key" : "key2",
      "value" : "value2"
    } ],
    "user_name" : "dbadmin",
    "number_of_node" : 3,
    "recent_event" : 6,
    "availability_zone" : "cn-north-4b",
    "enterprise_project_id" : "0",
    "node_type" : "dws.m1.xlarge.ultrahigh",
    "vpc_id" : "85b20d7e-9eb7-4b2a-98f3-3c8843ea3574",
    "subnet_id" : "374eca02-cfc4-4de7-8ab5-dbebf7d9a720",
    "public_ip" : {
      "public_bind_type" : "auto_assign",
      "eip_id" : "85b20d7e-9etypeb2a-98f3-3c8843ea3574"
    },
    "public_endpoints" : [ {
      "public_connect_info" : "dws-1.cn-north-4.myhuaweicloud.com",
      "jdbc_url" : "jdbc:postgresql://dws-1.cn-north-4.myhuaweicloud.com/<YOUR_DATABASE_name>"
    } ],
    "action_progress" : {
      "SNAPSHOTTING" : "20%"
    },
    "sub_status" : "READONLY",
    "task_status" : "SNAPSHOTTING",
    "parameter_group" : {
      "id" : "157e9cc4-64a8-11e8-adc0-fa7ae01bbebc",
      "name" : "Default-Parameter-Group-dws ",
      "status" : "In-Sync"
    },
    "security_group_id" : "dc3ec145-9029-4b39-b5a3-ace5a01f772b",
    "private_ip" : [ "192.168.0.12", "192.168.0.66" ],
    "maintain_window" : {
      "day" : "Wed",
      "start_time" : "18:00",
      "end_time" : "22:00"
    },
    "resize_info" : {
      "target_node_num" : "6",
      "origin_node_num" : "3",
      "resize_status" : "GROWING",
      "start_time" : "2018-02-14T14:28:14Z"
    }
  }
}

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
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.dws.v2.region.DwsRegion;
import com.huaweicloud.sdk.dws.v2.*;
import com.huaweicloud.sdk.dws.v2.model.*;


public class ListClusterDetailsSolution {

    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);

        DwsClient client = DwsClient.newBuilder()
                .withCredential(auth)
                .withRegion(DwsRegion.valueOf("cn-north-4"))
                .build();
        ListClusterDetailsRequest request = new ListClusterDetailsRequest();
        try {
            ListClusterDetailsResponse response = client.listClusterDetails(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
# coding: utf-8

from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkdws.v2.region.dws_region import DwsRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkdws.v2 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 = os.getenv("CLOUD_SDK_AK")
    sk = os.getenv("CLOUD_SDK_SK")

    credentials = BasicCredentials(ak, sk) \

    client = DwsClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(DwsRegion.value_of("cn-north-4")) \
        .build()

    try:
        request = ListClusterDetailsRequest()
        response = client.list_cluster_details(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
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    dws "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dws/v2"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dws/v2/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dws/v2/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 := dws.NewDwsClient(
        dws.DwsClientBuilder().
            WithRegion(region.ValueOf("cn-north-4")).
            WithCredential(auth).
            Build())

    request := &model.ListClusterDetailsRequest{}
	response, err := client.ListClusterDetails(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

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

状态码

状态码

描述

200

查询集群详情成功。

400

请求错误。

401

鉴权失败。

403

没有操作权限。

404

找不到资源。

500

服务内部错误。

503

服务不可用。