调用CreateDBClusterEndpoint接口创建PolarDB自定义集群地址。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String CreateDBClusterEndpoint

系统规定参数。取值:CreateDBClusterEndpoint

DBClusterId String pc-**************

集群ID。

EndpointType String Custom

自定义集群地址类型,取值固定为Custom

Nodes String pi-**********,pi-*********

加入目标地址的读负载节点,多个节点间用英文逗号(,)分隔。 默认为全部节点。

说明
  • PolarDB MySQL版需要传入节点ID。
  • PolarDB PostgreSQL版和PolarDB PostgreSQL版(兼容Oracle)需要传入节点角色名称,例如Writer,Reader1,Reader2
  • ReadWriteMode取值为ReadOnly时,支持只挂载一个节点。但当此节点故障时,该地址可能会有最多1小时的不可用,请勿用于生产环境。因此,推荐至少选择2个节点,以提升可用性。
  • ReadWriteMode取值为ReadWrite时,至少要选择2个节点。
    • PolarDB MySQL版支持选择任意两个节点。当两个节点都是只读节点时,写请求都会发往主节点。
    • PolarDB PostgreSQL版和PolarDB PostgreSQL版(兼容Oracle)必须包含主节点。
ReadWriteMode String ReadOnly

读写模式,取值范围如下:

  • ReadWrite:可读可写(自动读写分离)。
  • ReadOnly:只读。

    默认为ReadOnly

AutoAddNewNodes String Disable

新节点是否自动加入本地址,取值范围如下:

  • Enable:新节点自动加入本地址。
  • Disable:新节点不自动加入本地址。

默认取值为Disable

EndpointConfig String {"ConsistLevel": "1","DistributedTransaction": "on"}

集群地址的高级配置,格式为JSON,目前支持设置一致性级别、事务拆分、主库不接受读和连接池。

  • 设置一致性级别,格式为{"ConsistLevel":"一致性级别"},取值范围如下:
    • 0:最终一致性
    • 1:会话一致性(默认值)
    • 2:全局一致性
  • 设置事务拆分,格式为{"DistributedTransaction":"事务拆分"},取值范围如下:
    • on:开启事务拆分(默认值)
    • off:关闭事务拆分
  • 设置主库不接受读,格式为{"MasterAcceptReads":"主库不接受读"},取值范围如下:
    • on:表示主库接受读
    • off:表示主库不接受读(默认值)
  • 设置连接池,格式为{"ConnectionPersist":"连接池"},取值范围如下:
    • off:关闭连接池(默认值)
    • Session:开启会话级连接池
    • Transaction:开启事务级连接池
说明
  • 仅当PolarDB MySQL版集群地址的读写模式为可读可写(自动读写分离)时,支持设置事务拆分、主库不接受读和连接池。
  • 仅PolarDB MySQL版支持将一致性级别设置为全局一致性。
  • 如果参数ReadWriteMode取值为ReadOnly,一致性级别取值只能为0
  • 您可以同时设置一致性级别、事务拆分、主库不接受读和连接池,例如{"ConsistLevel":"1","DistributedTransaction":"on","ConnectionPersist":"Session","MasterAcceptReads":"on"}
  • 事务拆分的设置受一致性级别设置的约束。例如一致性级别取值为0时,不支持开启事务拆分;一致性级别取值为12时,支持开启事务拆分。
ClientToken String 6000170000591aed949d0f******************

用于保证请求的幂等性,防止重复提交请求。由客户端生成该参数值,保证在不同请求间唯一,大小写敏感、不超过64个ASCII字符。

DBEndpointDescription String test

自定义集群地址名称。

返回数据

名称 类型 示例值 描述
RequestId String CD35F3-F3-44CA-AFFF-BAF869******

请求ID。

示例

请求示例

http(s)://polardb.aliyuncs.com/?Action=CreateDBClusterEndpoint
&DBClusterId=pc-**************
&EndpointType=Custom
&<公共请求参数>

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<CreateDBClusterEndpointResponse>
<RequestId>CD35F3-F3-44CA-AFFF-BAF869******</RequestId>
</CreateDBClusterEndpointResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "CD35F3-F3-44CA-AFFF-BAF869******"
}

错误码

HttpCode 错误码 错误信息 描述
400 ClusterEndpoint.StatusNotValid Cluster endpoint status is not valid. 集群地址的状态无效.
400 EndpointNum.Error Endpoint number error. Endpoint号错误。
400 LockTimeout The request processing has failed due to lock timeout. 由于锁定超时,请求处理失败
404 EndpointConfig.Invalid Endpoint config is invalid. 集群地址的高级配置参数无效
404 InvalidDBClusterId.NotFound The DBClusterId provided does not exist in our records. 当前的记录中不存在提供的 DBClusterId。
404 EndpointConfig.Conflict Endpoint config is invalid, CausalConsistRead should be session since node SCC mode enabled. Endpoint配置无效,CausalConsistRead应为会话,因为节点SCC模式已启用。

访问错误中心查看更多错误码。