创建连接
功能介绍
创建单个连接,该连接可以为线下自建库或云上RDS等,目前支持的数据库引擎包括MySQL、PostgreSQL、Oracle和MongoDB。
URI
POST /v5/{project_id}/connections
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
租户在某一Region下的Project ID。 获取方法请参见获取项目ID。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
Content-Type |
是 |
String |
发送的实体的MIME类型。推荐用户默认使用application/json,如果API是对象、镜像上传等接口,媒体类型可按照流类型的不同进行确定。 |
X-Auth-Token |
是 |
String |
从IAM服务获取的用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 |
X-Language |
否 |
String |
请求语言类型。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
连接名称。 约束:连接名称在4位到50位之间,不区分大小写,可以包含字母、数字、中划线或下划线,不能包括其他特殊字符。 |
db_type |
是 |
String |
连接类型,包含:
|
config |
否 |
ConnectionConfig object |
连接的配置项,不同类型的连接配置项不同。 |
description |
否 |
String |
描述,长度不能超过255个字符。 |
endpoint |
是 |
BaseEndpoint object |
数据库连接基本信息。 |
vpc |
否 |
CloudVpcInfo object |
数据库实例所在VPC,子网,安全组等信息。 |
ssl |
否 |
EndpointSslConfig object |
数据库SSL证书信息。 |
cloud |
否 |
CloudBaseInfo object |
数据库实例所在Region,项目等信息。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
id |
否 |
String |
数据库信息ID。 |
endpoint_name |
是 |
String |
数据库场景类型。取值:
|
ip |
否 |
String |
数据库IP。约束:- 数据库为自建MongoDB时,数据库IP与端口之间用“:”英文冒号拼接,多个值之间请用“,”英文逗号隔开,最多支持填写3个IP地址或域名。- 数据库为DDS实例时,数据库IP与端口之间用“:”英文冒号拼接,多个IP端口之间请用“,”英文逗号分隔。- 数据库为Redis集群时,请填写源端Redis集群所有分片的IP地址和对应端口,数据库IP与端口之间用“:”英文冒号拼接,多个IP端口之间请用“,”英文逗号分隔,并且推荐填写集群分片的Slave节点的IP地址。最多支持填写32个IP地址或域名,多个值之间请用英文逗号隔开。示例:- MySQL:ip- MongoDB:ip:port,ip:port,ip:port- DDS:ip:port,ip:port - Redis集群:ip:port,ip:port |
db_port |
否 |
String |
数据库端口。 约束:输入范围为1-65535之间的整数。 |
db_user |
是 |
String |
数据库用户名。 |
db_password |
是 |
String |
数据库密码。 |
instance_id |
否 |
String |
华为云数据库实例ID。 |
instance_name |
否 |
String |
华为云数据库实例名称。 |
db_name |
否 |
String |
指定数据库名称。例如:
|
source_sharding |
否 |
Array of BaseEndpoint objects |
物理源库信息。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
vpc_id |
是 |
String |
数据库实例所在的虚拟私有云ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,在虚拟私有云的详情页面查找VPC ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询VPC列表。 |
subnet_id |
是 |
String |
数据库实例所在子网ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,单击VPC下的子网,进入子网详情页面,查找网络ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询子网列表。 |
security_group_id |
否 |
String |
数据库实例所在的安全组ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,在安全组的详情页面查找安全组ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询安全组列表。 |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
connection_id |
String |
连接ID。 |
name |
String |
连接名称。 |
create_time |
Long |
连接创建时间,格式为时间戳。 |
db_type |
String |
连接类型。 |
config |
ConnectionConfig object |
连接的配置项。 |
endpoint |
BaseEndpoint object |
数据库基本信息。 |
vpc |
CloudVpcInfo object |
数据库实例所在VPC,子网,安全组等信息。 |
ssl |
EndpointSslConfig object |
数据库SSL证书信息。 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
数据库信息ID。 |
endpoint_name |
String |
数据库场景类型。取值:
|
ip |
String |
数据库IP。约束:- 数据库为自建MongoDB时,数据库IP与端口之间用“:”英文冒号拼接,多个值之间请用“,”英文逗号隔开,最多支持填写3个IP地址或域名。- 数据库为DDS实例时,数据库IP与端口之间用“:”英文冒号拼接,多个IP端口之间请用“,”英文逗号分隔。- 数据库为Redis集群时,请填写源端Redis集群所有分片的IP地址和对应端口,数据库IP与端口之间用“:”英文冒号拼接,多个IP端口之间请用“,”英文逗号分隔,并且推荐填写集群分片的Slave节点的IP地址。最多支持填写32个IP地址或域名,多个值之间请用英文逗号隔开。示例:- MySQL:ip- MongoDB:ip:port,ip:port,ip:port- DDS:ip:port,ip:port - Redis集群:ip:port,ip:port |
db_port |
String |
数据库端口。 约束:输入范围为1-65535之间的整数。 |
db_user |
String |
数据库用户名。 |
db_password |
String |
数据库密码。 |
instance_id |
String |
华为云数据库实例ID。 |
instance_name |
String |
华为云数据库实例名称。 |
db_name |
String |
指定数据库名称。例如:
|
source_sharding |
Array of BaseEndpoint objects |
物理源库信息。 |
参数 |
参数类型 |
描述 |
---|---|---|
vpc_id |
String |
数据库实例所在的虚拟私有云ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,在虚拟私有云的详情页面查找VPC ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询VPC列表。 |
subnet_id |
String |
数据库实例所在子网ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,单击VPC下的子网,进入子网详情页面,查找网络ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询子网列表。 |
security_group_id |
String |
数据库实例所在的安全组ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,在安全组的详情页面查找安全组ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询安全组列表。 |
参数 |
参数类型 |
描述 |
---|---|---|
ssl_link |
Boolean |
是否SSL安全连接。如果数据库启用了SSL安全连接,参数值为true。 |
ssl_cert_name |
String |
SSL证书名字。 |
ssl_cert_key |
String |
SSL证书内容,用base64加密。 |
ssl_cert_check_sum |
String |
SSL证书内容checksum值,后端校验,源库安全连接必选。 |
ssl_cert_password |
String |
SSL证书密码,证书文件后缀为.p12时必填。 |
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码。 |
error_msg |
String |
错误描述。 |
请求示例
创建一个MySQL连接示例。
https://{endpoint}/v5/5237e10fe9aa4ad5b16b6a5245248314/connections { "name" : "DRS-mysql", "type" : "mysql", "description" : "description", "endpoint" : { "endpoint_name" : "mysql", "ip" : "127.0.0.1", "db_port" : "3306", "db_user" : "root", "db_password" : "password" }, "vpc" : { }, "ssl" : { "ssl_link" : false }, "enterprise_project_id" : "0" }
响应示例
状态码: 200
OK
{ "name" : "DRS-mysql", "type" : "mysql", "endpoint" : { "endpoint_name" : "mysql", "ip" : "127.0.0.1", "db_port" : "3306", "db_user" : "root" }, "description" : "description", "connection_id" : "835e1d79-24ac-411d-a1c8-22c000280659", "ssl" : { "ssl_link" : false }, "create_time" : 1716879012121, "enterprise_project_id" : "0" }
状态码: 400
Bad Request
{ "error_code" : "DRS.10010065", "error_msg" : "Connection manager name is already exists." }
状态码
状态码 |
描述 |
---|---|
200 |
OK |
400 |
Bad Request |
错误码
请参见错误码。