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

查询连接信息

功能介绍

查询连接信息。包括公网域名、内网域名等。

调用方法

请参见如何调用API

URI

GET /v1/{project_id}/clusters/{cluster_id}/endpoints

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释

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

约束限制

不涉及。

取值范围

不涉及。

默认取值

不涉及。

cluster_id

String

参数解释

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

约束限制

必须是有效的dws集群ID。

取值范围

36位UUID。

默认取值

不涉及。

请求参数

响应参数

状态码:200

表2 响应Body参数

参数

参数类型

描述

public_endpoints

PublicEndpointResponse object

参数解释

公网连接信息,含公网域名、公网IP等,如果多个节点均绑定了公网IP只会显示其中一个。

取值范围

不涉及。

private_endpoints

PrivateEndpointResponse object

参数解释

公网连接信息。

取值范围

不涉及。

public_ip_infos

Array of PublicIpInfoResponse objects

参数解释

公网IP详细信息,显示每个节点当前是否绑定公网IP及对应状态。

取值范围

不涉及。

表3 PublicEndpointResponse

参数

参数类型

描述

ip

String

参数解释

公网IP信息。

取值范围

不涉及。

port

Integer

参数解释

端口信息,创建集群时如果未指定端口则默认8000。

取值范围

不涉及。

enabled

Boolean

参数解释

当前局点是否支持公网域名。

取值范围

不涉及。

ip_id

String

参数解释

公网IP的ID。

取值范围

不涉及。

ip_bandwidth

String

参数解释

公网IP的带宽信息。

取值范围

不涉及。

domain_name

String

参数解释

公网域名子域名信息。

取值范围

不涉及。

domain_name_suffix

String

参数解释

公网域名后缀信息。

取值范围

不涉及。

zone_name

String

参数解释

公网域名后缀信息。

取值范围

不涉及。

domain_name_ttl

Integer

参数解释

公网域名TTL。

取值范围

不涉及。

domain_name_status

String

参数解释

公网域名状态。

取值范围

不涉及。

ip_status

String

参数解释

公网IP状态。

取值范围

不涉及。

表4 PrivateEndpointResponse

参数

参数类型

描述

ip

String

参数解释

内网IP信息,多个IP逗号分割。

取值范围

不涉及。

port

Integer

参数解释

端口信息。

取值范围

8000~30000

domain_name

String

参数解释

子域名前缀。

取值范围

不涉及。

domain_name_suffix

String

参数解释

子域名后缀。

取值范围

不涉及。

zone_name

String

参数解释

子域名信息。

取值范围

不涉及。

domain_name_ttl

Integer

参数解释

内网域名TTL。

取值范围

不涉及。

domain_name_status

String

参数解释

内网域名状态。

取值范围

不涉及。

elb_ip

String

参数解释

ELB的内网IP信息。

取值范围

不涉及。

bind_manage_ip_status

Integer

参数解释

IP绑定状态。

取值范围

不涉及。

表5 PublicIpInfoResponse

参数

参数类型

描述

id

String

参数解释

公网IP的ID。

取值范围

不涉及。

address

String

参数解释

公网IP。

取值范围

合法的公网IPV4地址。

status

String

参数解释

公网IP状态。

取值范围

不涉及。

instance_id

String

参数解释

绑定的DWS集群的节点ID。

取值范围

不涉及。

instance_name

String

参数解释

绑定的DWS集群的节点名称。

取值范围

不涉及。

bandwidth_size

String

参数解释

公网IP带宽信息。

取值范围

不涉及。

请求示例

查询公网域名、公网IP等连接信息。

https://{Endpoint}/v1/05f2cff45100d5112f4bc00b794ea08e/clusters/cc6588d6-8301-4c9a-b0c0-186bb824e8c0/endpoints

响应示例

状态码:200

查询成功。

{
  "public_endpoints" : {
    "ip" : "100.10.87.101",
    "port" : 8000,
    "enabled" : true,
    "ip_id" : "76d86659-a1d8-421d-969e-da97af4fde34",
    "ip_bandwidth" : "1",
    "domain_name" : "dws_cluster751",
    "domain_name_suffix" : ".dws5.dwscloud.com",
    "zone_name" : ".dws5.dwscloud.com",
    "domain_name_ttl" : 300,
    "domain_name_status" : "ACTIVE",
    "ip_status" : "ACTIVE"
  },
  "private_endpoints" : {
    "ip" : "192.168.200.145,192.168.200.32,192.168.200.169",
    "port" : 8000,
    "domain_name" : "dws_cluster-75",
    "domain_name_suffix" : ".dws.dwscloud.com",
    "zone_name" : ".dws.dwscloud.com",
    "domain_name_ttl" : 300,
    "domain_name_status" : "ACTIVE",
    "elb_ip" : "192.168.200.120",
    "bind_manage_ip_status" : 1
  },
  "public_ip_infos" : [ {
    "id" : "",
    "address" : "",
    "status" : null,
    "instance_id" : "064edaf0-775b-4337-86c5-900d73d0c969",
    "instance_name" : "dws_cluster_751-dws-cn-cn-2-1",
    "bandwidth_size" : null
  }, {
    "id" : "",
    "address" : "",
    "status" : null,
    "instance_id" : "1ba6fa55-50aa-4c85-a45d-f914c9eff771",
    "instance_name" : "dws_cluster_751-dws-cn-cn-3-1",
    "bandwidth_size" : null
  }, {
    "id" : "76d86659-a1d8-421d-969e-da97af4fde34",
    "address" : "100.10.87.101",
    "status" : "ACTIVE",
    "instance_id" : "2fb695c4-4b9f-440a-ae69-33bb26516fba",
    "instance_name" : "dws_cluster_751-dws-cn-cn-1-1",
    "bandwidth_size" : "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
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 ListClusterEndpointsSolution {

    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();
        ListClusterEndpointsRequest request = new ListClusterEndpointsRequest();
        request.withClusterId("{cluster_id}");
        try {
            ListClusterEndpointsResponse response = client.listClusterEndpoints(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 = ListClusterEndpointsRequest()
        request.cluster_id = "{cluster_id}"
        response = client.list_cluster_endpoints(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.ListClusterEndpointsRequest{}
	request.ClusterId = "{cluster_id}"
	response, err := client.ListClusterEndpoints(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

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

状态码

状态码

描述

200

查询成功。

400

请求错误。

401

鉴权失败。

403

没有操作权限。

404

找不到资源。

500

服务内部错误。

503

服务不可用。