恢复到新实例
接口约束
- 原实例和目标实例的数据库类型必须一致,如都是MySQL。
- 原实例和目标实例的数据库版本约束如下:
- RDS for MySQL和RDS for PostgreSQL的原实例和目标实例的数据库版本必须一致。
- RDS for SQL Server的原实例及目标实例的时区配置要完全一致,否则会有数据不一致风险。
- RDS for MySQL和RDS for PostgreSQL数据库目标实例需大于或等于原实例的数据卷总大小。
URI
- URI格式
- 参数说明
表1 参数说明 名称
是否必选
说明
project_id
是
租户在某一Region下的项目ID。
获取方法请参见获取项目ID。
请求消息
名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
name |
是 |
String |
实例名称。 用于表示实例的名称,同一租户下,同类型的实例名可重名。 取值范围:
|
password |
否 |
String |
数据库密码。不传该参数时,表示在实例创建完成后,通过重置密码的方式设置密码。 取值范围: 数据库支持的密码长度是8~32个字符,至少包含大写字母、小写字母、数字、特殊字符三种字符的组合。
建议您输入高强度密码,以提高安全性,防止出现密码被暴力破解等安全风险。 |
flavor_ref |
是 |
String |
规格码,取值范围:非空,。 详情请参考查询数据库规格的响应消息中的“spec_code”。 |
volume |
是 |
Object |
volume信息。 详情请参见表7。 |
availability_zone |
是 |
String |
可用区ID。对于数据库实例类型不是单机的实例,需要分别为实例所有节点指定可用区,并用逗号隔开。详见示例。 调用查询数据库规格接口的返回信息中可以获取到可用区ID。 |
restore_point |
是 |
Object |
恢复数据源对象。 详情请参见表8。 |
datastore |
否 |
Object |
数据库信息,仅适用于RDS for SQL Server数据库,跨版本恢复新实例时必传。 详情请参见表4。 恢复新实例的版本规则详见表5。 |
ha |
否 |
Object |
HA配置参数,创建HA实例时使用。 详情请参见表3。 |
configuration_id |
否 |
String |
参数模板ID。 |
port |
否 |
String |
数据库端口信息。
当不传该参数时,默认端口如下:
|
backup_strategy |
否 |
Object |
高级备份策略。 详情请参见表6。 |
enterprise_project_id |
否 |
String |
项目标签。 |
disk_encryption_id |
否 |
String |
用于磁盘加密的密钥ID,默认为空。
说明:
Serverless型实例不支持该参数。 |
region |
否 |
String |
区域ID。 取值参见地区和终端节点。 SQL Server数据库和PostgreSQL数据库备份恢复到新实例时为必填项。 |
vpc_id |
否 |
String |
虚拟私有云ID,获取方法如下:
SQL Server数据库和PostgreSQL数据库备份恢复到新实例时为必填项。 |
subnet_id |
否 |
String |
子网的网络ID信息,获取方法如下:
SQL Server数据库和PostgreSQL数据库备份恢复到新实例时为必填项。 |
data_vip |
否 |
String |
指定实例的内网IP,获取方法如下:
|
security_group_id |
否 |
String |
指定实例所属的安全组。
SQL Server数据库和PostgreSQL数据库备份恢复到新实例时为必填项。 如需开通MySQL多安全组权限,您可以在管理控制台右上角,选择“工单 > 新建工单”,提交权限申请。最多支持添加10个安全组ID,安全组ID之间用英文逗号隔开。 |
charge_info |
否 |
Object |
计费类型信息,支持包年包月和按需,默认为按需。目前,仅Microsoft SQL Server支持包年包月模式下的恢复到新实例功能。 详情请参见表10。 |
time_zone |
否 |
String |
UTC时区。
|
dsspool_id |
否 |
String |
Dec用户专属存储ID,每个az配置的专属存储不同,Dec用户创建实例时,对于数据库实例类型不是单机或只读的实例,需要分别为实例所有节点指定dsspoolId,并用逗号隔开。 获取方法如下:
|
collation |
否 |
String |
仅限RDS for SQL Server实例创建使用。对于RDS for MySQL和RDS for PostgreSQL实例,该参数无意义。 取值范围:根据查询SQL Server可用字符集查询可设置的字符集。 |
tags |
否 |
Array of objects |
标签列表,根据标签键值对创建实例。
如果创建实例时同时使用多个标签键值对,中间使用逗号分隔开,最多包含20组。 详情请参见 表11 |
dry_run |
否 |
Boolean |
是否只预检此次请求,仅支持MySQL。
|
serverless_info |
否 |
Object |
Serverless型实例的资源扩缩范围。创建Serverless型实例时必选。 详情参见表9。 |
名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
mode |
是 |
String |
实例主备模式,取值:Ha,不区分大小写。 |
replication_mode |
是 |
String |
备机同步参数。 取值:非空。
说明:
|
名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
type |
是 |
String |
数据库引擎,取值如下: SQLServer |
version |
是 |
String |
数据库版本。
数据库支持的详细版本信息,可调用查询数据库引擎的版本接口获取。 |
原数据库版本 |
可恢复到的版本 |
---|---|
2008 R2 标准版 |
2012 标准版 2012 企业版 2014 标准版 2014 企业版 2016 标准版 2016 企业版 2017 标准版 2017 企业版 |
2012 web版 |
2012 web版 2012 标准版 2012 企业版 2014 web版 2014 标准版 2014 企业版 2016 web版 2016 标准版 2016 企业版 2017 web版 2017 标准版 2017 企业版 |
2012 标准版 |
2012 标准版 2012 企业版 2014 标准版 2014 企业版 2016 标准版 2016 企业版 2017 标准版 2017 企业版 |
2012 企业版 |
2012 企业版 2014 企业版 2016 企业版 2017 企业版 |
2014 标准版 |
2014 标准版 2014 企业版 2016 标准版 2016 企业版 2017 标准版 2017 企业版 |
2014 企业版 |
2014 企业版 2016 企业版 2017 企业版 |
2016 标准版 |
2016 标准版 2016 企业版 2017 标准版 2017 企业版 |
2016 企业版 |
2016 企业版 2017 企业版 |
2017 web版 |
2017 web版 2017 标准版 2017 企业版 |
2017 标准版 |
2017 标准版 2017 企业版 |
2017 企业版 |
2017 企业版 |
名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
start_time |
是 |
String |
备份时间段。自动备份将在该时间段内触发。 取值范围:非空,格式必须为hh:mm-HH:MM且有效,当前时间指UTC时间。
取值示例:
|
keep_days |
否 |
Integer |
指定备份文件的可保存天数。 取值范围:0~732。该参数缺省,或取值为0,表示关闭自动备份策略。如果需要延长保留时间请联系客服人员申请,自动备份最长可以保留2562天。 |
名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
type |
是 |
String |
磁盘类型。 取值范围如下,区分大小写:
|
size |
是 |
Integer |
磁盘大小。 取值范围:40GB~4000GB。必须为10的整数倍。
须知:
RDS for MySQL和RDS for PostgreSQL数据库新实例磁盘大小必须大于或等于原实例的磁盘大小。 |
名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
instance_id |
是 |
String |
实例ID。 |
type |
是 |
String |
表示恢复方式,枚举值:
|
backup_id |
否 |
String |
用于恢复的备份ID。当使用备份文件恢复时需要指定该参数。
须知:
当“type”字段为非必选时,“backup_id”必选。 |
restore_time |
否 |
Integer |
恢复数据的时间点,格式为UNIX时间戳,单位是毫秒,时区为UTC。
须知:
当“type”字段必选时,“restore_time”必选。 |
database_name |
否 |
Map<String, String> |
仅适用于SQL Server引擎,当有此参数时表示支持局部恢复和重命名恢复,恢复数据以局部恢复为主。
示例: "database_name":{"原数据库名称":"新数据库名称"} 正确示例:"database_name":{"A":"A,A1,A2","B":"B1,B2","C":""} 错误示例:"database_name":{"A":"A","B":"B1,B2","C":"B1,C1","D":"D1,d1"}, 错误原因如下:
|
名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
min_cap |
是 |
String |
Serverless型实例的最小算力,单位RCU,范围0.5~8,步进0.5。
说明:
RCU即RDS Capacity Unit,是Serverless型实例的计费单位。 max_cap的值要大于min_cap的值。 |
max_cap |
是 |
String |
Serverless型实例的最大算力,单位RCU,范围0.5~8,步进0.5。 |
名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
charge_mode |
是 |
String |
计费模式。 取值范围:
|
period_type |
否 |
String |
订购周期类型。 取值范围:
|
period_num |
否 |
Integer |
“charge_mode”为“prePaid”时生效,且为必选值,指定订购的时间。 取值范围:
|
is_auto_renew |
否 |
boolean |
创建包周期实例时可指定,表示是否自动续订,续订的周期和原周期相同,且续订时会自动支付。
|
is_auto_pay |
否 |
boolean |
创建包周期时可指定,表示是否自动从客户的账户中支付,此字段不影响自动续订的支付方式。 |
请求示例
- 将MySQL备份文件恢复到新实例。
POST https://{endpoint}/v3/0483b6b16e954cb88930a360d2c4e663/instances { "name": "targetInst", "availability_zone": "bbb,ccc", "ha": { "mode": "ha", "replication_mode": "async" }, "flavor_ref": "rds.mysql.s1.large", "volume": { "type": "ULTRAHIGH", "size": 40 }, "region": "aaa", "disk_encryption_id": "2gfdsh-844a-4023-a776-fc5c5fb71fb4", "vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce", "subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f", "data_vip": "192.168.0.147", "security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5", "backup_strategy": { "keep_days": 2, "start_time": "19:00-20:00" }, "password": "Demo@12345678", "configuration_id": "52e86e87445847a79bf807ceda213165pr01", "enterprise_project_id": "ba1f7fc8-3307-42a7-aa6f-42c8b9b8f85c", "time_zone": "UTC+04:00", "restore_point": { "instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin01", "type": "backup", "backup_id": "2f4ddb93-b901-4b08-93d8-1d2e472f30fe" } }
- 将SQL Server备份文件中的部分数据库恢复到新实例。
{ "name": "targetInst", "datastore": { "type": "SQLServer", "version": "2014_SE" }, "availability_zone": "bbb,ccc", "ha": { "mode": "ha", "replication_mode": "sync" }, "flavor_ref": "rds.mssql.2014.se.s3.xlarge.2.ha", "volume": { "type": "ULTRAHIGH", "size": 40 }, "disk_encryption_id": "2gfdsh-844a-4023-a776-fc5c5fb71fb4", "vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce", "subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f", "data_vip": "192.168.0.147", "security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5", "backup_strategy": { "keep_days": 2, "start_time": "19:00-20:00" }, "charge_info": { "charge_mode": "prePaid", "period_type": "month", "period_num": 1, "is_auto_renew": false, "is_auto_pay": true }, "password": "Demo@12345678", "configuration_id": "52e86e87445847a79bf807ceda213165pr04", "enterprise_project_id": "ba1f7fc8-3307-42a7-aa6f-42c8b9b8f85c", "time_zone": "UTC+04:00", "collation": "Cyrillic_General_CI_AS", "restore_point": { "instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin04", "type": "backup", "backup_id": "2f4ddb93-b901-4b08-93d8-1d2e472f30fe", "database_name": { "db1": "dbtest1,dbtest2", "db2": "db2,db002", "db3": "" } } }
- 将MySQL实例的数据恢复到指定时间点。
{ "name": "targetInst", "availability_zone": "bbb,ccc", "ha": { "mode": "ha", "replication_mode": "async" }, "flavor_ref": "rds.mysql.s1.large", "volume": { "type": "ULTRAHIGH", "size": 40 }, "disk_encryption_id": "2gfdsh-844a-4023-a776-fc5c5fb71fb4", "vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce", "subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f", "security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5", "data_vip": "192.168.0.147", "backup_strategy": { "keep_days": 2, "start_time": "19:00-20:00" }, "password": "Demo@12345678", "configuration_id": "52e86e87445847a79bf807ceda213165pr01", "enterprise_project_id": "ba1f7fc8-3307-42a7-aa6f-42c8b9b8f85c", "time_zone": "UTC+04:00", "restore_point": { "instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin01", "type": "timestamp", "restore_time": 1532001446987 } }
- 将SQL Server实例的部分数据库恢复到指定时间点。
{ "name": "targetInst", "datastore": { "type": "SQLServer", "version": "2014_SE" }, "availability_zone": "bbb,ccc", "ha": { "mode": "ha", "replication_mode": "sync" }, "flavor_ref": "rds.mssql.2014.se.s3.xlarge.2.ha", "volume": { "type": "ULTRAHIGH", "size": 40 }, "disk_encryption_id": "2gfdsh-844a-4023-a776-fc5c5fb71fb4", "vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce", "subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f", "data_vip": "192.168.0.147", "security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5", "backup_strategy": { "keep_days": 2, "start_time": "19:00-20:00" }, "charge_info": { "charge_mode": "prePaid", "period_type": "month", "period_num": 1, "is_auto_renew": false, "is_auto_pay": true }, "password": "Demo@12345678", "configuration_id": "52e86e87445847a79bf807ceda213165pr04", "enterprise_project_id": "ba1f7fc8-3307-42a7-aa6f-42c8b9b8f85c", "time_zone": "UTC+04:00", "collation": "Cyrillic_General_CI_AS", "restore_point": { "instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin04", "type": "timestamp", "restore_time": 1532001446987, "database_name": { "db1": "dbtest1,dbtest2", "db2": "db2,db02", "db3": "" } } }
- 将Serverless型MySQL备份文件恢复到新实例。
{ "name": "serverless", "datastore": { "type": "MySQL", "version": "5.7" }, "ha": { "mode": "ha", "replication_mode": "semisync" }, "flavor_ref": "rds.mysql.serverless.ha", "volume": { "type": "CLOUDSSD", "size": 100 }, "region": "aaa", "availability_zone": "bbb,ccc", "vpc_id": "bd3e4c67-74da-459d-820f-9fecd4ea9ca4", "subnet_id": "53cdf568-6f56-4944-a996-4afcaffe994e", "security_group_id": "89f258c5-4b81-4ef0-be30-34f2ee07dd1c", "port": 3307, "backup_strategy": { "start_time": "08:15-09:15", "keep_days": 12 }, "password": "****", "time_zone": "UTC+08:00", "tags": [ { "key": "key1", "value": "value1" }, { "key": "key2", "value": "value2" } ], "dry_run": false, "serverless_info": { "min_cap": "0.5", "max_cap": "1" }, "restore_point": { "instance_id": "aceb1e359a444660bb8fe0696afc76e1in01", "type": "backup", "backup_id": "0db0b4b93e5d40afbd65ede29153dc46br01" } }
响应消息
- 正常响应要素说明
表12 要素说明 名称
参数类型
说明
instance
Object
实例信息。
详情请参见表13。
job_id
String
实例创建的任务id。仅按需实例时返回该参数。
order_id
String
订单号,仅RDS for SQL Server创建包年包月时返回该参数。
表13 instance说明 名称
参数类型
说明
id
String
实例ID。
name
String
实例名称。
用于表示实例的名称,同一租户下,同类型的实例名可重名。
status
String
实例状态。如BUILD,表示创建中。
datastore
Object
数据库信息。
详情请参见表14。
ha
Object
HA配置参数,仅当您选择创建HA实例时该参数才可见。
详情请参见表15。
configuration_id
String
参数模板id,仅当您创建实例指定用户自定义参数组时才可见。
port
String
数据库端口信息。
- RDS for MySQL数据库端口设置范围为1024~65535(其中12017和33071被RDS系统占用不可设置)。
- RDS for PostgreSQL数据库端口修改范围为2100~9500。
- 对于RDS for SQL Server 2022 EE、2022 SE、2022 Web版、2019 EE、2019 SE、2019 Web版、2017 EE、2017 SE、2017 Web版:端口设置范围为1433和2100~9500(其中5050、5353、5355、5985和5986不可设置)。
当不传该参数时,默认端口如下:
- RDS for MySQL默认3306。
- RDS for PostgreSQL默认5432。
- RDS for SQL Server默认1433。
backup_strategy
Object
自动备份策略。
详情请参见表16。
enterprise_project_tag
String
项目标签。
flavor_ref
String
规格ID。
volume
Object
volume信息。
详情请参见表17。
region
String
区域ID。
availability_zone
String
可用区ID。
vpc_id
String
虚拟私有云ID,获取方法如下:
- 方法1:登录虚拟私有云服务的控制台界面,在虚拟私有云的详情页面查找VPC ID。
- 方法2:获取方法请参见《虚拟私有云API参考》中“查询VPC列表”的内容。
subnet_id
String
子网的网络ID信息,获取方法如下:
- 方法1:登录虚拟私有云服务的控制台界面,单击VPC下的子网,进入子网详情页面,查找网络ID。
- 方法2:获取方法请参见《虚拟私有云API参考》中“查询子网列表”的内容。
security_group_id
String
指定实例所属的安全组。
- 方法1:登录虚拟私有云服务的控制台界面,在安全组的详情页面查找安全组ID。
- 方法2:获取方法请参见《虚拟私有云API参考》中“查询安全组列表”的内容。
collation
String
RDS for SQL Server设定的字符集信息。
charge_info
Object
计费方式信息,支持包年/包月和按需。
详情请参见表10。
表14 datastore字段数据结构说明 名称
是否必选
参数类型
说明
type
是
String
数据库引擎。支持的引擎如下,不区分大小写:
- MySQL
- PostgreSQL
- SQLServer
version
是
String
数据库版本。
数据库支持的详细版本信息,可调用查询数据库引擎的版本接口获取。
complete_version
否
String
数据库完整版本号。仅在数据库引擎是”PostgreSQL”时返回。
表15 ha字段数据结构说明 名称
是否必选
参数类型
说明
mode
是
String
实例主备模式,取值:Ha。
replication_mode
是
String
备机同步参数。
取值:非空。
- MySQL为“async”或“semisync”。
- PostgreSQL为“async”或“sync”。
- Microsoft SQL Server为“sync”。
说明:- “async”为异步模式。
- “semisync”为半同步模式。
- “sync”为同步模式。
表16 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
keep_days
否
Integer
指定已生成备份文件的可保存天数。
取值范围:0~732。该参数缺省,或取0值,表示关闭自动备份策略。如果需要延长保留时间请联系客服人员申请,自动备份最长可以保留2562天。
- 正常响应样例
{ "instance": { "id": "f5ffdd8b1c98434385eb001904209eacin01", "name": "demoname", "status": "BUILD", "datastore": { "type": "MySQL", "version": "5.7.31" }, "port": "3306", "volume": { "type": "ULTRAHIGH", "size": "40" }, "region": "aaa", "backup_strategy": { "start_time": "02:00-03:00", "keep_days": "7" }, "flavor_ref": "rds.mysql.s1.large", "availability_zone": "bbb", "vpc_id": "19e5d45d-70fd-4a91-87e9-b27e71c9891f", "subnet_id": "bd51fb45-2dcb-4296-8783-8623bfe89bb7", "security_group_id": "23fd0cd4-15dc-4d65-bdb3-8844cc291be0" }, "job_id": "bf003379-afea-4aa5-aa83-4543542070bc" }
PostgreSQL
{ "instance": { "id": "f5ffdd8b1c98434385eb001904209eacin01", "name": "demoname", "status": "BUILD", "datastore": { "type": "PostgreSQL", "version": "9.6.13" }, "port": "5432", "volume": { "type": "ULTRAHIGH", "size": "40" }, "region": "aaa", "backup_strategy": { "start_time": "02:00-03:00", "keep_days": "7" }, "flavor_ref": "rds.pg.s1.large", "availability_zone": "bbb", "vpc_id": "19e5d45d-70fd-4a91-87e9-b27e71c9891f", "subnet_id": "bd51fb45-2dcb-4296-8783-8623bfe89bb7", "security_group_id": "23fd0cd4-15dc-4d65-bdb3-8844cc291be0" }, "job_id": "bf003379-afea-4aa5-aa83-4543542070bc" }
SQL Server
{ "instance": { "id": "f5ffdd8b1c98434385eb001904209eacin01", "name": "demoname", "status": "BUILD", "datastore": { "type": "sqlserver", "version": "2014_SE" }, "port": "2100", "volume": { "type": "ULTRAHIGH", "size": "40" }, "region": "aaa", "backup_strategy": { "start_time": "02:00-03:00", "keep_days": "7" }, "flavor_ref": "rds.mssql.2014.se.s3.large.2", "availability_zone": "bbb", "vpc_id": "19e5d45d-70fd-4a91-87e9-b27e71c9891f", "subnet_id": "bd51fb45-2dcb-4296-8783-8623bfe89bb7", "security_group_id": "23fd0cd4-15dc-4d65-bdb3-8844cc291be0", "charge_info": { "charge_mode": "prePaid", "period_num": 1 }, "collation": "Cyrillic_General_CI_AS" }, "order_id": "CS20122919584LQ7K" }
Serverless型MySQL
{ "instance": { "id": "dbb35f31f4144086bf522ff8a124530din01", "name": "serverless", "status": "BUILD", "datastore": { "type": "MySQL", "version": "5.7.41" }, "ha": { "mode": "Ha", "replication_mode": "semisync" }, "port": "3307", "volume": { "type": "CLOUDSSD", "size": 100 }, "region": "aaa", "backup_strategy": { "start_time": "08:15-09:15", "keep_days": 12 }, "flavor_ref": "rds.mysql.serverless.ha", "availability_zone": "bbb,ccc", "vpc_id": "bd3e4c67-74da-459d-820f-9fecd4ea9ca4", "subnet_id": "53cdf568-6f56-4944-a996-4afcaffe994e", "security_group_id": "89f258c5-4b81-4ef0-be30-34f2ee07dd1c" }, "job_id": "908c05f7-958a-4411-b590-890eed175345" }
- 异常响应
请参见异常请求结果。
状态码
- 正常
- 异常
请参见状态码。
错误码
请参见错误码。