更新时间:2025-07-08 GMT+08:00

查询集群详情

功能介绍

查询集群详情。

调用方法

请参见如何调用API

URI

GET /v1.0/{project_id}/clusters/{cluster_id}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释

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

约束限制

不涉及。

取值范围

不涉及。

默认取值

不涉及。

cluster_id

String

参数解释

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

约束限制

必须是有效的dws集群ID。

取值范围

36位UUID。

默认取值

不涉及。

请求参数

响应参数

状态码:200

表2 响应Body参数

参数

参数类型

描述

cluster

ClusterDetail object

参数解释

集群详情对象。

取值范围

非null

表3 ClusterDetail

参数

参数类型

描述

id

String

参数解释

集群ID。

取值范围

不涉及。

name

String

参数解释

集群名称。

取值范围

不涉及。

status

String

参数解释

集群状态。

取值范围

  • CREATING:创建中

  • ACTIVE:可用

  • FAILED:不可用

  • CREATE_FAILED:创建失败

  • DELETING:删除中

  • DELETE_FAILED:删除失败

  • DELETED:已删除

  • FROZEN:普通冻结

  • POLICE_FROZEN:公安冻结

version

String

参数解释

数据仓库版本。

取值范围

不涉及。

updated

String

参数解释

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

取值范围

不涉及。

created

String

参数解释

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

取值范围

不涉及。

port

Integer

参数解释

集群服务端口。

取值范围

8000~30000

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,对集群指定企业项目。如果未指定,则使用默认企业项目“default”的ID,即0。

约束限制

不涉及。

取值范围

不涉及。

默认取值

0

vpc_id

String

参数解释

虚拟私有云ID。

取值范围

不涉及。

subnet_id

String

参数解释

子网ID。

取值范围

不涉及。

public_ip

PublicIp object

参数解释

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

取值范围

不涉及。

public_endpoints

Array of PublicEndpoints objects

参数解释

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

取值范围

不涉及。

action_progress

Map<String,String>

参数解释

任务信息,由key、value组成。key值为正在进行的任务,value值为正在进行任务的进度。

取值范围

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:修复中

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

String

参数解释

集群规格。

取值范围

不涉及。

node_type_id

String

参数解释

集群规格ID。

取值范围

不涉及。

security_group_id

String

参数解释

安全组ID。

取值范围

不涉及。

order_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:已删除

name

String

参数解释

实例名称。

取值范围

不涉及。

表6 Tags

参数

参数类型

描述

key

String

参数解释

标签的键。

约束限制

不涉及。

取值范围

  • 输入标签键的最大长度为128个unicode字符,不能为空字符串,且首尾字符不能为空格;

  • 不能包含“=”,“*”,“<”,“>”,“\”,“,”,“|”,“/”;

  • 只能包含大写字母(A-Z)、小写字母(a-z)、数字(0-9)和特殊字符(中划线-、下划线_)以及中文字符;

默认取值

不涉及。

value

String

参数解释

标签的值。

约束限制

不涉及。

取值范围

  • 输入标签值的最大长度为256个字符,首尾字符不能为空格,可以为空字符串。

  • 不能包含“=”,“*”,“<”,“>”,“\”,“,”,“|”,“/”。

  • 只能包含大写字母(A-Z)、小写字母(a-z)、数字(0-9)和特殊字符(中划线-、下划线_)以及中文字符。

默认取值

不涉及。

表7 PublicIp

参数

参数类型

描述

public_bind_type

String

参数解释

弹性IP绑定类型。

约束限制

不涉及。

取值范围

auto_assign:自动绑定。

not_use:暂未使用。

bind_existing :使用已有。

默认取值

null

eip_id

String

参数解释

弹性公网IP的id。

约束限制

不涉及。

取值范围

不涉及。

默认取值

null

表8 PublicEndpoints

参数

参数类型

描述

public_connect_info

String

参数解释

公网连接信息。

取值范围

不涉及。

jdbc_url

String

参数解释

公网JDBC连接串。

约束限制

不涉及。

取值范围

不涉及。

默认取值

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。

取值范围

有效的公网ipv4地址。

private_ip

String

参数解释

内网ip。

取值范围

有效的内网ipv4地址。

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.dwscloud.com",
      "jdbc_url" : "jdbc:postgresql://dws-1.cn-north-4.dwscloud.com/<YOUR_DATABASE_name>"
    } ],
    "nodes" : [ {
      "id" : "acaf62a4-41b3-4106-bf6b-2f669d88291e",
      "name" : "dws-1-dws-cn-cn-1-1",
      "status" : "200"
    }, {
      "id" : "d32de51e-4fcd-4e5a-a9dc-bb903abb494b",
      "name" : "dws-1-dws-cn-cn-2-1",
      "status" : "200"
    }, {
      "id" : "d71a4a25-c9bc-4ffd-9f4a-e422aef327f9",
      "name" : "dws-1-dws-cn-cn-3-1",
      "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.dwscloud.com",
      "jdbc_url" : "jdbc:postgresql://dws-1.cn-north-4.dwscloud.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",
    "order_id" : "",
    "private_ip" : [ "192.168.0.12", "192.168.0.66" ],
    "maintain_window" : {
      "day" : "Wed",
      "start_time" : "22:00",
      "end_time" : "02: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
46
47
48
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");
        String projectId = "{project_id}";

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

        DwsClient client = DwsClient.newBuilder()
                .withCredential(auth)
                .withRegion(DwsRegion.valueOf("<YOUR REGION>"))
                .build();
        ListClusterDetailsRequest request = new ListClusterDetailsRequest();
        request.withClusterId("{cluster_id}");
        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
30
31
32
# coding: utf-8

import os
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.environ["CLOUD_SDK_AK"]
    sk = os.environ["CLOUD_SDK_SK"]
    projectId = "{project_id}"

    credentials = BasicCredentials(ak, sk, projectId)

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

    try:
        request = ListClusterDetailsRequest()
        request.cluster_id = "{cluster_id}"
        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
36
37
38
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")
    projectId := "{project_id}"

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

    client := dws.NewDwsClient(
        dws.DwsClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.ListClusterDetailsRequest{}
	request.ClusterId = "{cluster_id}"
	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

服务不可用。