恢复到新实例
接口说明
根据备份恢复新实例。
约束说明
- 该接口既支持恢复到包年包月实例,也支持按需实例。
- 目标实例与源实例的数据库类型必须一致。
- 根据时间点恢复到新实例目前有副本集实例和集群实例支持该功能。
调试
您可以在API Explorer中调试该接口。
URI
名称 |
类型 |
IN |
是否必选 |
描述 |
---|---|---|---|---|
X-Auth-Token |
string |
header |
是 |
从IAM服务获取的用户Token。请参考认证鉴权。 |
project_id |
string |
path |
是 |
租户在某一Region下的项目ID。请参考获取项目ID章节获取项目编号。 |
请求消息
- 参数说明
表2 参数说明 名称
参数类型
是否必选
描述
name
String
是
实例名称。
用于表示实例的名称,允许和已有名称重复。
实例名称长度在4个到64个字节之间,必须以字母或中文字开头,区分大小写,可以包含字母、数字、中划线、下划线或中文(一个中文字符占用3个字节),不能包含其他特殊字符。
datastore
Object
是
数据库信息。详情请参见表3。
region
String
是
区域ID。
取值:非空,请参见地区和终端节点。
availability_zone
String
是
可用区ID。
取值:非空,请参见地区和终端节点。
vpc_id
String
是
虚拟私有云ID。
获取方法请参见《虚拟私有云API参考》中“VPC”的内容。
取值:非空,字符长度校验,严格UUID正则校验。
subnet_id
String
是
子网ID。
获取方法请参见《虚拟私有云API参考》中“子网”的内容。
security_group_id
String
是
指定实例所属的安全组ID列表。
port
String
否
数据库访问端口。
端口有效范围:2100~65535(不包括12017和33071)。
不传该参数时,创建实例的访问端口默认为8635。
password
String
否
数据库密码。
取值范围:长度为8~32位,必须是大写字母(A~Z)、小写字母(a~z)、数字(0~9)、特殊字符~!@#%^*-_=+?的组合。
建议您输入高强度密码,以提高安全性,防止出现密码被暴力破解等安全风险。
不传该参数时,实例创建完成后,如需连接实例,请先为实例设置密码,具体请参见重置管理员密码。
disk_encryption_id
String
否
磁盘加密时的密钥ID,严格UUID正则校验。
不传该参数时,表示不进行磁盘加密。
mode
String
是
实例类型。支持集群和副本集。
取值:
- Sharding
- ReplicaSet
configurations
Array of objects
否
参数组配置信息。详情请参见表5。
不传该参数时,表示为系统默认参数组。
flavor
Array of objects
是
实例规格详情。详情请参见表6。
获取方法请参见查询数据库规格中参数的值。
restore_point
Object
是
恢复到新实例备份信息详情。详情请参见表4。
backup_strategy
Object
否
高级备份策略。详情请参见表7。
enterprise_project_id
String
否
企业项目ID。
- 对于未开通企业多项目服务的用户,不传该参数。
- 对于已开通企业多项目服务的用户,不传该参数时,表示为default企业项目。
获取方式请参见《企业管理API参考》的“查询企业项目列表”响应消息表“enterprise_project字段数据结构说明”的“id”。
ssl_option
String
否
SSL开关选项。
取值:
- 取“0”,表示DDS实例默认不启用SSL连接。
- 取“1”,表示DDS实例默认启用SSL连接。
不传该参数时,默认启用SSL连接。
dss_pool_id
String
否
Dec用户专属存储ID,默认为空。仅Dec用户支持该参数。
server_group_policies
Array of strings
否
Dec用户云服务器组关联的策略名称列表。取值包括:
- 取“anti-affinity”,表示DDS实例开启反亲和部署,反亲和部署是出于高可用性考虑,将您的Primary、Secondary和Hidden节点分别创建在不同的物理机上。
DEC用户不传该参数时,默认不开启反亲和部署。仅DEC用户支持该参数。
tags
Array of objects
否
标签列表。
单个实例总标签数上限20个。详情请参见表8。
charge_info
Object
否
计费类型信息,支持包年包月和按需计费,默认为按需计费。
详情请参见表9。
表3 datastore字段数据结构说明 名称
参数类型
是否必选
描述
type
String
是
数据库版本类型。取值为“DDS-Community”。
version
String
是
数据库版本。支持5.0、4.4、4.2、4.0、3.4版本,取值为“5.0”、“4.4”、“4.2”、“4.0”、“3.4”。
storage_engine
String
是
存储引擎。支持WiredTiger/RocksDB存储引擎。
- 数据库版本为4.2及以上时,存储引擎为RocksDB,取值为“rocksDB”。
- 数据库版本为4.0和3.4时,存储引擎为WiredTiger,取值为“wiredTiger”。
表4 restore_point字段数据结构说明 名称
参数类型
是否必选
描述
instance_id
String
否
实例ID,可以调用“查询实例列表”接口获取。如果未申请实例,可以调用“创建实例”接口创建。
- 当type为“backup”,为非必选。
- 当type为“timestamp”,为必选。
type
String
否
恢复方式,枚举值:
- “backup”,表示使用备份文件恢复,按照此方式恢复时,当“type”字段为非必选时,“backup_id”必选。
- “timestamp”,表示按时间点恢复,按照此方式恢复时,当“type”字段必选时,“restore_time”必选。
backup_id
String
否
用于恢复的备份ID。当使用备份文件恢复时需要指定该参数。
说明:当“type”字段为非必选时,“backup_id”必选。
restore_time
Integer
否
恢复数据的时间点,格式为UNIX时间戳,单位是毫秒,时区为UTC。
说明:当“type”字段必选时,“restore_time”必选。
表5 configurations字段数据结构说明 参数
参数类型
是否必选
描述
type
String
是
节点类型。取值:
- 集群实例包含mongos、shard和config节点,各节点下该参数取值分别为“mongos”、“shard”和“config”。
- 副本集实例下该参数取值为“replica”。
- 单节点实例下该参数取值为“single”。
枚举值:
- mongos
- shard
- config
- replica
- single
configuration_id
String
是
参数组id。
表6 flavor字段数据结构说明 名称
参数类型
是否必选
描述
type
String
是
节点类型。
取值:
- 集群实例包含mongos、shard和config节点,各节点下该参数取值分别为“mongos”、“shard”和“config”。
- 副本集实例下该参数取值为“replica”。
- 单节点实例下该参数取值为“single”。
num
String
是
节点数量。
取值:
- 集群实例下“shard”类型不传该参数。
- 集群实例下“mongos”类型的节点数量可取2~32。
- “config”类型的组数量只能取1。
- “replica”类型的组数量只能取1。
- “single”类型的节点数量只能取1。
storage
String
否
磁盘类型。
取值:ULTRAHIGH,表示SSD。
对于集群实例的shard和config节点、副本集、以及单节点实例,该参数有效。mongos节点不涉及选择磁盘,该参数无意义。
size
String
否
磁盘大小。
取值:必须为10的整数倍。单位为GB。
- 对于集群实例,shard组可取10GB~2000GB,并且大于等于原实例的磁盘大小,config组仅可取20GB。mongos节点不涉及选择磁盘,该参数无意义。
- 对于副本集实例,可取10GB~3000GB,并且大于等于原实例的磁盘大小。
- 对于单节点实例,可取10GB~1000GB,并且大于等于原实例的磁盘大小。
spec_code
String
是
资源规格编码。获取方法请参见查询数据库规格中参数“spec_code”的值。
表8 tags字段数据结构说明 名称
参数类型
是否必选
描述
key
String
是
标签键。最大长度36个unicode字符。
key不能为空,不能为空字符串,不能重复。
字符集:A-Z,a-z , 0-9,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。
value
String
是
标签值。最大长度43个unicode字符。 可以为空字符串。
字符集:A-Z,a-z , 0-9,‘.’,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。
表9 charge_info字段数据结构说明 参数
参数类型
是否必选
描述
charge_mode
String
是
计费模式。 取值范围:
- prePaid:预付费,即包年/包月。
- postPaid:后付费,即按需付费。
period_type
String
否
订购周期类型。 “charge_mode”为“prePaid”时生效,且为必选值。 取值范围:
- month:包月。
- year:包年。
period_num
Integer
否
“charge_mode”为“prePaid”时生效,且为必选值,指定订购的时间。 取值范围:
- 当“period_type”为“month”时,取值为1~9。
- 当“period_type”为“year”时,取值为1~3
is_auto_renew
Boolean
否
创建包周期实例时可指定,表示是否自动续订,续订的周期和原周期相同,且续订时会自动支付。 取值范围:
- true,表示自动续订。
- false,表示不自动续订,默认为该方式。
is_auto_pay
Boolean
否
创建包周期实例时可指定,表示是否自动从账户中支付,该字段不影响自动续订的支付方式。 取值范围:
- true,表示自动从账户中支付。
- false,表示手动从账户中支付,默认为该支付方式。
请求示例中参数“region”和“availability_zone”的值为示例值。
请求示例
- 集群根据备份文件恢复到新实例:
{ "name": "test-cluster-01", "datastore": { "type": "DDS-Community", "version": "3.2", "storage_engine": "wiredTiger" }, "region": "aaa", "availability_zone": "az1xahz", "vpc_id": "674e9b42-cd8d-4d25-a2e6-5abcc565b961", "subnet_id": "f1df08c5-71d1-406a-aff0-de435a51007", "security_group_id": "7aa51dbf-5b63-40db-9724-dad3c4828b58", "password": "******", "mode": "Sharding", "configurations": [ { "type": "mongos", "configuration_id": "acb288dbd1174f26a8960b45591bd98apr02" }, { "type": "shard", "configuration_id": "5bca546f0be64b038124ef9cedd1bfa1pr02" }, { "type": "config", "configuration_id": "4d123b3ba8294921802b11bf4d8c5735pr02" } ], "restore_point": { "backup_id": "8f643d252d834a4c916b2db4322f99552734" }, "flavor": [ { "type": "mongos", "num": "2", "spec_code": "dds.mongodb.c6.medium.4.mongos" }, { "type": "shard", "num": 2, "storage": "ULTRAHIGH", "size": 20, "spec_code": "dds.mongodb.c6.medium.4.shard" }, { "type": "config", "num": 1, "storage": "ULTRAHIGH", "size": 20, "spec_code": "dds.mongodb.c6.large.2.config" } ], "backup_strategy": { "start_time": "08:15-09:15", "keep_days": "8" }, "ssl_option": "1", "dss_pool_id": "f5f84ed7-6f19-4bd4-99d7-b450ad6cc4dd", "server_group_policies": [ "anti-affinity" ], "tags": [ { "key": "dds001", "value": "dds001" } ] }
- 副本集根据备份文件恢复到新实例:
{ "name": "test-replicaset", "datastore": { "type": "DDS-Community", "version": "3.4", "storage_engine": "wiredTiger" }, "region": "aaa", "availability_zone": "az1xahz", "vpc_id": "674e9b42-cd8d-4d25-a2e6-5abcc565b961", "subnet_id": "f1df08c5-71d1-406a-aff0-de435a51007", "security_group_id": "7aa51dbf-5b63-40db-9724-dad3c4828b58", "password": "******", "mode": "ReplicaSet", "configurations": [ { "type": "replica", "configuration_id": "f17e3aad778440fbb68603c8c9032003pr02" } ], "restore_point": { "backup_id": "8f643d252d834a4c916b2db4322f99552734" }, "flavor": [ { "type": "replica", "num": "1", "storage": "ULTRAHIGH", "size": "30", "spec_code": "dds.mongodb.s2.medium.4.shard" } ], "backup_strategy": { "start_time": "08:15-09:15", "keep_days": "8" }, "ssl_option": "1", "tags" : [{ "key" : "dds001", "value" : "dds001" }] }
- 单节点根据备份文件恢复到新实例:
{ "name": "test-singlenode", "datastore": { "type": "DDS-Community", "version": "3.2", "storage_engine": "wiredTiger" }, "region": "aaa", "availability_zone": "az1xahz", "vpc_id": "674e9b42-cd8d-4d25-a2e6-5abcc565b961", "subnet_id": "f1df08c5-71d1-406a-aff0-de435a51007", "security_group_id": "7aa51dbf-5b63-40db-9724-dad3c4828b58", "password": "******", "mode": "Single", "configurations": [ { "type": "single", "configuration_id": "b8e962e66ede47609a94cba591735b49pr02" } ], "restore_point": { "backup_id": "8f643d252d834a4c916b2db4322f99552734" }, "flavor": [ { "type": "single", "num": "1", "storage": "ULTRAHIGH", "size": "30", "spec_code": "dds.mongodb.c6.medium.4.single" } ], "backup_strategy": { "start_time": "08:15-09:15", "keep_days": "8" }, "ssl_option": "1", "tags" : [{ "key" : "dds001", "value" : "dds001" }] }
- 副本集根据时间点恢复到新实例:
{ "name": "replica-liuyunj1", "datastore": { "type": "DDS-Community", "version": "3.2", "storage_engine": "wiredTiger" }, "region": "aaa", "availability_zone": "az1xahz", "vpc_id": "dcdadabc-efed-4518-8b34-4af66fcd97e7", "subnet_id": "4a9348f2-f232-4700-a440-2f1641d80960", "security_group_id": "c57b9db2-cccb-4c0d-b058-7ea51dda0c99", "mode": "ReplicaSet", "flavor": [ { "type": "replica", "num": 1, "storage": "ULTRAHIGH", "size": 100, "spec_code": "dds.mongodb.c6.large.2.repset" } ], "backup_strategy": { "start_time": "08:00-09:00", "keep_days": "8" }, "restore_point": { "instance_id": "d5833c2854a4486cb7960f829269e211in02", "type": "timestamp", "restore_time": 1607689584000 }, "ssl_option": "1", "tags" : [{ "key" : "dds001", "value" : "dds001" }] }
响应消息
- 参数说明
表10 参数说明 名称
参数类型
是否必选
描述
id
String
否
实例ID。
name
String
否
实例名称,与请求参数相同。
datastore
Object
否
数据库信息,与请求参数相同。详情请参见表11。
created
String
否
创建时间为本地时间,格式为“yyyy-mm-dd hh:mm:ss”。
status
String
否
实例状态,取值为“creating”。
region
String
否
区域ID,与请求参数相同。
availability_zone
String
否
可用区ID,与请求参数相同。
vpc_id
String
否
虚拟私有云ID,与请求参数相同。
subnet_id
String
否
子网ID,与请求参数相同。
security_group_id
String
否
实例所属的安全组ID列表,与请求参数相同。
port
Integer
否
数据库访问端口。
disk_encryption_id
String
否
磁盘加密的密钥ID,与请求参数相同。
mode
String
否
实例类型,与请求参数相同。
configurations
Array of objects
否
参数组配置信息。
详情请参见表12。
flavor
Array of objects
否
实例规格详情,与请求参数相同。详情请参见表6。
backup_strategy
Object
否
高级备份策略,与请求参数相同。详情请参见表7。
enterprise_project_id
String
否
企业项目ID。取值为“0”,表示为default企业项目。
dss_pool_id
String
否
Dec用户专属存储ID。
job_id
String
否
创建实例的工作流ID。
ssl_option
String
否
SSL开关选项,与请求参数相同。
tags
Array of objects
否
标签列表,与请求参数相同。
详情请参见表15。
order_id
String
否
创建实例的订单ID,仅创建包年包月实例时返回该参数。
charge_info
Object
否
付费方式信息,与请求参数相同。
详情请参见表16。
表11 datastore字段数据结构说明 名称
参数类型
是否必选
描述
type
String
是
数据库版本类型。取值为“DDS-Community”。
version
String
是
数据库版本。支持5.0、4.4、4.2、4.0、3.4版本,取值为“5.0”、“4.4”、“4.2”、“4.0”、“3.4”。
storage_engine
String
是
存储引擎。支持WiredTiger/RocksDB存储引擎。
- 数据库版本为4.2及以上时,存储引擎为RocksDB,取值为“rocksDB”。
- 数据库版本为4.0和3.4时,存储引擎为WiredTiger,取值为“wiredTiger”。
表12 configurations字段数据结构说明 参数
参数类型
是否必选
描述
type
String
是
节点类型。取值:
- 集群实例包含mongos、shard和config节点,各节点下该参数取值分别为“mongos”、“shard”和“config”。
- 副本集实例下该参数取值为“replica”。
- 单节点实例下该参数取值为“single”。
枚举值:
- mongos
- shard
- config
- replica
- single
configuration_id
String
是
参数组id。
表13 flavor字段数据结构说明 名称
参数类型
是否必选
描述
type
String
是
节点类型。
取值:
- 集群实例包含mongos、shard和config节点,各节点下该参数取值分别为“mongos”、“shard”和“config”。
- 副本集实例下该参数取值为“replica”。
- 单节点实例下该参数取值为“single”。
num
String
是
节点数量或组数量。
取值:
- type取值“mongos”,num表示集群实例下mongos节点的数量,取值2~16。
- type取值“shard”,num表示集群实例下shard组的数量,取值2~16。
- type取值“config”,num表示集群实例下config组的数量,只能取值1。
- type取值“replica”,num表示副本集实例下副本节点的数量,可取值3,5,7。
- type取值“single”,num表示单节点实例下节点的数量,只能取值1。
storage
String
否
磁盘类型。
size
String
否
磁盘大小。
对于除mongos外的其他节点,该参数必选。mongos节点下,该参数无意义。
取值:必须为10的整数倍。单位为GB。
- 对于集群实例,shard组可取10GB~2000GB,config组仅可取20GB。mongos节点不涉及选择磁盘,该参数无意义。
- 对于副本集实例,可取10GB~3000GB。
- 对于单节点实例,可取10GB~1000GB。
spec_code
String
是
资源规格编码。获取方法请参见查询数据库规格中响应参数“spec_code”的值。
集群实例下,需要指定多个规格,要求所有规格的系列一致,均为通用型(s6)、增强型(c3)、或增强Ⅱ型(c6)。
示例:- dds.mongodb.s6.large.4.mongos和dds.mongodb.s6.large.4.config是同一规格系列。
- dds.mongodb.s6.large.4.mongos和dds.mongodb.c3.large.4.config不是同一规格系列。
表14 backup_strategy字段数据结构说明 名称
参数类型
是否必选
描述
start_time
String
是
备份时间段。自动备份将在该时间段内触发。
取值范围:非空,格式必须为hh:mm-HH:MM,且有效,当前时间指UTC时间。
- HH取值必须比hh大1。
- mm和MM取值必须相同,且取值必须为00。
- 不传该参数,默认的备份时间段不传该参数,默认的备份时间段为00:00-01:00。
取值示例:
23:00-00:00
keep_days
String
否
指定已生成的备份文件可以保存的天数。
取值范围:0~732。
- 取0值,表示不设置自动备份策略。
- 不传该参数,默认开启自动备份策略,备份文件默认保存7天。
表15 tags字段数据结构说明 名称
参数类型
是否必选
描述
key
String
是
标签键。最大长度36个unicode字符。
key不能为空,不能为空字符串,不能重复。
字符集:A-Z,a-z , 0-9,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。
value
String
是
标签值。最大长度43个unicode字符。 可以为空字符串。
字符集:A-Z,a-z , 0-9,‘.’,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。
表16 charge_info字段数据结构说明 参数
参数类型
是否必选
描述
charge_mode
String
是
计费模式。 取值范围:
- prePaid:预付费,即包年/包月。
- postPaid:后付费,即按需付费。
period_type
String
否
订购周期类型。 “charge_mode”为“prePaid”时生效,且为必选值。 取值范围:
- month:包月。
- year:包年。
period_num
Integer
否
“charge_mode”为“prePaid”时生效,且为必选值,指定订购的时间。 取值范围:
- 当“period_type”为“month”时,取值为1~9。
- 当“period_type”为“year”时,取值为1~3
is_auto_renew
Boolean
否
创建包周期实例时可指定,表示是否自动续订,续订的周期和原周期相同,且续订时会自动支付。 取值范围:
- true,表示自动续订。
- false,表示不自动续订,默认为该方式。
is_auto_pay
Boolean
否
创建包周期实例时可指定,表示是否自动从账户中支付,该字段不影响自动续订的支付方式。 取值范围:
- true,表示自动从账户中支付。
- false,表示手动从账户中支付,默认为该支付方式。
响应示例中参数“region”和“availability_zone”的值为示例值。
- 响应示例
{ "id": "39b6a1a278844ac48119d86512e0000bin02", "name": "test-cluster-01", "datastore": { "type": "DDS-Community", "version": "3.4", "storage_engine": "wiredTiger" }, "created": "2019-01-16 09:34:36", "status": "creating", "region": "aaa", "availability_zone": "az1xahz", "vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce", "subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f", "security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5", "disk_encryption_id": "2gfdsh-844a-4023-a776-fc5c5fb71fb4", "mode": "Sharding", "configurations": [ { "type": "mongos", "configuration_id": "acb288dbd1174f26a8960b45591bd98apr02" }, { "type": "shard", "configuration_id": "5bca546f0be64b038124ef9cedd1bfa1pr02" }, { "type": "config", "configuration_id": "4d123b3ba8294921802b11bf4d8c5735pr02" } ], "flavor": [ { "type": "mongos", "num": "2", "spec_code": "dds.mongodb.c6.medium.4.mongos" }, { "type": "shard", "num": "2", "storage": "ULTRAHIGH", "spec_code": "dds.mongodb.c6.medium.4.shard", "size": "20" }, { "type": "config", "num": "1", "storage": "ULTRAHIGH", "spec_code": "dds.mongodb.c6.large.2.config", "size": "20" } ], "backup_strategy": { "start_time": "08:15-09:15", "keep_days": "8" }, "enterprise_project_id": "", "ssl_option": "1", "dss_pool_id": "f5f84ed7-6f19-4bd4-99d7-b450ad6cc4dd", "job_id": "c010abd0-48cf-4fa8-8cbc-090f093eaa2f", "tags" : [{ "key" : "dds001", "value" : "dds001" }] }
SDK
单击文档数据库服务 DDS SDK,下载SDK或查看SDK文档。SDK的安装、认证方式等在SDK文档中对应语言类型的【使用】目录下。
状态码
详情请参见状态码。
错误码
详情请参见错误码。