创建数据库实例
功能介绍
创建FlexusRDS实例,可分为单机实例和主备实例。
本接口支持创建FlexusRDS实例时,在HTTP请求消息头中设置X-Client-Token请求头,保证请求幂等性。详细信息请参考请求幂等性说明。
URI
- URI格式
- 参数说明
表1 参数说明 名称
是否必选
参数类型
说明
project_id
是
String
参数解释:
租户在某一Region下的项目ID。
获取方法请参见获取项目ID。
约束限制:
不涉及。
取值范围:
不涉及。
默认取值:
不涉及。
请求消息
名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
name |
是 |
String |
参数解释: 实例名称。 约束限制: 同一租户下,同类型的实例名可重名。 取值范围: 实例名称长度最小为4字符,最大为64个字符,如果名称包含中文,则不超过64字节(注意:一个中文字符占用3个字节),必须以字母或中文开头,区分大小写,可以包含字母、数字、中划线、下划线、英文句号或中文,不能包含其他特殊字符。 默认取值: 不涉及。 |
datastore |
是 |
Object |
参数解释: 数据库信息。 详情请参见表3。 约束限制: 不涉及。 |
flavor_ref |
是 |
String |
参数解释: 规格码。 约束限制: 不涉及。 取值范围: 非空。参考查询数据库规格响应消息表3中的“spec_code”获取。 默认取值: 不涉及。 |
volume |
是 |
Object |
参数解释: 实例存储信息。详情请参见表6。 约束限制: 不涉及。 |
region |
是 |
String |
参数解释: 区域ID。 约束限制: 不涉及。 取值范围: 非空,请参见地区和终端节点。 默认取值: 不涉及。 |
availability_zone |
是 |
String |
参数解释: 可用区ID。 约束限制: 对于数据库实例类型不是单机的实例,需要分别为实例所有节点指定可用区,并用逗号隔开。 取值范围: 非空,请参见地区和终端节点。 默认取值: 不涉及。 |
ha |
否 |
Object |
参数解释: HA配置参数,详情请参见表4。 约束限制: 仅创建主备实例时使用。 |
port |
否 |
String |
参数解释: 数据库端口信息。 约束限制: 不涉及。 取值范围:
默认取值: 3306 |
password |
否 |
String |
参数解释: 数据库密码。 约束限制: 建议您输入高强度密码,以提高安全性,防止出现密码被暴力破解等安全风险。如果您提供的密码被系统视为弱密码,您将收到错误提示,请提供更高强度的密码。 取值范围: 数据库支持的密码长度是8~32个字符,至少包含大写字母、小写字母、数字、特殊字符三种字符的组合。允许输入~!@#$%^*-_=+?,()&特殊字符。 默认取值: 不涉及。 |
backup_strategy |
否 |
Object |
参数解释: 高级备份策略。详情请参见表5。 约束限制: 不涉及。 |
charge_info |
是 |
Object |
参数解释: 包周期计费类型。详情请参见表7。 约束限制: 不涉及。 |
time_zone |
否 |
String |
参数解释: UTC时区。 约束限制: 不涉及。 取值范围:
默认取值: UTC+08:00 |
tags |
否 |
Array of objects |
参数解释: 标签列表,根据标签键值对创建实例。 详情请参见 表8。 约束限制: 如果创建实例时同时使用多个标签键值对,中间使用逗号分隔开,最多包含20组。 |
is_flexus |
是 |
boolean |
参数解释: 创建FlexusRDS实例。 约束限制: 不涉及。 取值范围: true 默认取值: 不涉及。 |
名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
type |
是 |
String |
参数解释: 数据库引擎。 约束限制: 不涉及。 取值范围: MySQL 默认取值: 不涉及。 |
version |
是 |
String |
参数解释: 数据库版本。 约束限制: 不涉及。 取值范围: 5.7、8.0 默认取值: 不涉及。 |
名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
mode |
是 |
String |
参数解释: 实例主备模式。 约束限制: 不涉及。 取值范围: HA,不区分大小写。 默认取值: 不涉及。 |
replication_mode |
是 |
String |
参数解释: 备机同步参数。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
start_time |
是 |
String |
参数解释: 备份时间段。自动备份将在该时间段内触发。 约束限制: 不涉及。 取值范围: 非空,格式必须为hh:mm-HH:MM且有效,当前时间指UTC时间。
示例:
默认取值: 不涉及。 |
keep_days |
否 |
Integer |
参数解释: 指定备份文件的可保存天数。 约束限制: 不涉及。 取值范围:
默认取值: 7 |
名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
type |
是 |
String |
参数解释: 磁盘类型。 约束限制: 不涉及。 取值范围: CLOUDSSD:区分大小写,表示SSD云盘,仅支持通用型和独享型规格实例。 默认取值: 不涉及。 |
size |
是 |
Integer |
参数解释: 磁盘大小。 约束限制: 不涉及。 取值范围: 40 GB~4000 GB,必须为10的整数倍。 默认取值: 不涉及。 |
名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
charge_mode |
是 |
String |
参数解释: 计费模式。 约束限制: 不涉及。 取值范围: prePaid:预付费,即包年/包月。 默认取值: 不涉及。 |
period_type |
是 |
String |
参数解释: 订购周期类型。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
period_num |
是 |
Integer |
参数解释: 订购时长。 约束限制: 不涉及。 取值范围:
默认取值: 不涉及。 |
is_auto_renew |
否 |
boolean |
参数解释: 包周期实例是否自动续订,续订的周期和原周期相同,且续订时会自动支付。 约束限制: 不涉及。 取值范围:
默认取值: false |
is_auto_pay |
否 |
boolean |
参数解释: 是否自动从客户的账户中支付,此字段不影响自动续订的支付方式。 约束限制: 不涉及。 取值范围:
默认取值: false |
请求示例
请求样例中参数“region”和“availability_zone”的值为示例值。
- 创建FlexusRDS单机实例。
POST https://{endpoint}/v3/0483b6b16e954cb88930a360d2c4e663/instances { "name": "flexusrds-instance", "datastore": { "type": "MySQL", "version": "5.7" }, "flavor_ref": "rds.mysql.y1.large.2", "volume": { "type": "CLOUDSSD", "size": 100 }, "region": "aaa", "availability_zone": "bbb", "port": 3306, "backup_strategy": { "start_time": "08:15-09:15", "keep_days": 12 }, "charge_info": { "charge_mode": "prePaid" }, "password": "****", "time_zone": "UTC+04:00", "tags": [ { "key": "key1", "value": "value1" }, { "key": "key2", "value": "value2" } ], "is_flexus": true }
- 创建FlexusRDS主备实例。
{ "name": "flexusrds-instance-ha", "datastore": { "type": "MySQL", "version": "5.7" }, "ha": { "mode": "ha", "replication_mode": "semisync" }, "flavor_ref": "rds.mysql.y1.xlarge.2.ha", "volume": { "type": "CLOUDSSD", "size": 100 }, "region": "aaa", "availability_zone": "bbb", "port": 3306, "backup_strategy": { "start_time": "08:15-09:15", "keep_days": 12 }, "charge_info": { "charge_mode": "prePaid" }, "password": "****", "tags": [ { "key": "key1", "value": "value1" }, { "key": "key2", "value": "value2" } ], "is_flexus": true }
响应消息
- 正常响应要素说明
表9 要素说明 名称
参数类型
说明
instance
Object
参数解释:
实例信息。详情请参见表10。
order_id
String
参数解释:
订单号。
取值范围:
不涉及。
表10 instance说明 名称
参数类型
说明
id
String
参数解释:
实例ID。
取值范围:
不涉及。
name
String
参数解释:
实例名称。用于表示实例的名称,同一租户下,同类型的实例名称可相同。
取值范围:
与请求参数值相同。
status
String
参数解释:
实例状态。
取值范围:
BUILD,表示创建中。
datastore
Object
参数解释:
数据库信息。详情请参见表11。
ha
Object
参数解释:
HA配置参数,仅当您选择创建HA实例时该参数才可见。
详情请参见表12。
port
String
参数解释:
数据库端口信息。
取值范围:
与请求参数值相同。
backup_strategy
Object
参数解释:
自动备份策略。详情请参见表13。
flavor_ref
String
参数解释:
规格码。
取值范围:
与请求参数值相同。
volume
Object
参数解释:
volume信息。详情请参见表14。
region
String
参数解释:
区域ID。
取值范围:
与请求参数值相同。
availability_zone
String
参数解释:
可用区ID。
取值范围:
与请求参数值相同。
vpc_id
String
参数解释:
虚拟私有云ID。
取值范围:
vpc-default-smb
subnet_id
String
参数解释:
子网的网络ID信息。
取值范围:
subnet-default-smb
security_group_id
String
参数解释:
指定实例所属的安全组。
取值范围:
sg-default-smb
charge_info
Object
参数解释:
计费方式信息。详情请参见表15。
表11 datastore字段数据结构说明 名称
参数类型
说明
type
String
参数解释:
数据库引擎。
取值范围:
MySQL
version
String
参数解释:
数据库版本。
取值范围:
5.7、8.0
表12 ha字段数据结构说明 名称
参数类型
说明
mode
String
参数解释:
实例主备模式。
取值范围:
HA,不区分大小写。
replication_mode
String
参数解释:
备机同步参数。
取值范围:
- async:异步模式。
- semisync:半同步模式。
表13 backupStrategy字段数据结构说明 名称
参数类型
说明
start_time
String
参数解释:
备份时间段。自动备份将在该时间段内触发。
取值范围:
非空,格式必须为hh:mm-HH:MM且有效,当前时间指UTC时间。
- HH取值必须比hh大1。
- mm和MM取值必须相同,且取值必须为00、15、30或45。
示例:
- 08:15-09:15
- 23:00-00:00
如果请求体中“backup_strategy”为空,则响应体中 “start_time”默认返回“02:00-03:00”。
keep_days
Integer
参数解释:
指定备份文件的可保存天数。
取值范围:
0~732。取值为0,表示关闭自动备份策略。如果需要延长保留时间请联系客服人员申请,自动备份最长可以保留2562天。
如果请求体中“backup_strategy”为空,则响应体中 “keep_days”默认返回“7”。
响应样例中参数“region”和“availability_zone”的值为示例值。
- 正常响应样例
{ "instance": { "id": "dsfae23fsfdsae3435in01", "name": "flexusrds-instance", "datastore": { "type": "MySQL", "version": "5.7" }, "flavor_ref": "rds.mysql.y1.large.2", "volume": { "type": "CLOUDSSD", "size": 100 }, "region": "aaa", "availability_zone": "bbb", "vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce", "subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f", "security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5", "port": "3306", "backup_strategy": { "start_time": "08:15-09:15", "keep_days": 3 }, "charge_info": { "charge_mode": "postPaid" } }, "job_id": "dff1d289-4d03-4942-8b9f-463ea07c000d" }
创建FlexusRDS主备实例下发成功。
{ "instance":{ "id": "dsfae23fsfdsae3435in01", "name": "flexusrds-instance-ha", "datastore": { "type": "MySQL", "version": "5.7" }, "ha": { "mode": "ha", "replication_mode": "semisync" }, "flavor_ref": "rds.mysql.y1.xlarge.2.ha", "volume": { "type": "CLOUDSSD", "size": 100 }, "region": "aaa", "availability_zone": "bbb,ccc", "vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce", "subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f", "security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5", "port": "3306", "backup_strategy": { "start_time": "08:15-09:15", "keep_days": 3 }, "charge_info": { "charge_mode": "postPaid" }, }, "job_id": "dff1d289-4d03-4942-8b9f-463ea07c000d" }
- 异常响应
请参见异常请求结果。
状态码
- 正常
- 异常
请参见状态码。