创建连接
功能介绍
创建单个连接,该连接可以为线下自建库或云上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,项目等信息。 |
|
enterprise_project_id |
否 |
String |
企业项目ID。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
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证书信息。 |
|
enterprise_project_id |
String |
企业项目ID。 |
|
description |
String |
描述。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
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",
"db_type" : "mysql",
"description" : "description",
"endpoint" : {
"endpoint_name" : "mysql",
"ip" : "127.0.0.1",
"db_port" : "3306",
"db_user" : "root",
"db_password" : "password"
},
"ssl" : {
"ssl_link" : false
},
"enterprise_project_id" : "0"
}
响应示例
状态码: 200
OK
{
"name" : "DRS-mysql",
"db_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 |
错误码
请参见错误码。