恢复到新实例
功能介绍
根据备份恢复新实例。
接口约束
目标实例与源实例的数据库版本和实例类型必须一致。
目标实例规格必须大于等于源实例规格。
调试
您可以在API Explorer中调试该接口。
URI
POST https://{
Endpoint
}/v3/{project_id}/instances
表1 参数说明
参数
是否必选
描述
project_id
是
参数解释:
租户在某一Region下的项目ID。
获取方法请参见获取项目ID。
约束限制:
不涉及。
取值范围:
只能由英文字母、数字组成,且长度为32个字符。
默认取值:
不涉及。
请求参数
表2 参数说明
参数
是否必选
参数类型
描述
name
是
String
实例名称。
用于表示实例的名称,同一租户下,同类型的实例名可重名。
取值范围:4~64个字符之间,必须以字母开头,区分大小写,可以包含字母、数字、中划线或者下划线,不能包含其他的特殊字符。
availability_zone
是
String
可用区ID。
GaussDB取值范围:非空,可选部署在同一可用区或三个不同可用区,可用区之间用逗号隔开。详见示例。
- 部署在同一可用区:需要输入三个相同的可用区。例如:部署在“cn-north-4a”可用区,则需要在此处输入"cn-north-4a,cn-north-4a,cn-north-4a"。
- 部署在三个不同可用区:需要分别输入三个不同的可用区。
取值范围:非空,请参见地区和终端节点。
flavor_ref
是
String
规格码,取值范围:非空。参考查询数据库规格中“spec_code”字段获取。
volume
是
Object
volume信息。
详情请参见表3
disk_encryption_id
否
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接口查询,具体操作可参考查询安全组列表。
password
是
String
数据库密码。
GaussDB密码取值范围:
非空; 至少包含大写字母(A-Z),小写字母(a-z),数字(0-9),非字母数字字符(限定为~!@#%^*-_=+?,)四类字符中的三类字符;长度8~32个字符。
建议您输入高强度密码,以提高安全性,防止出现密码被暴力破解等安全风险。
charge_info
否
Object
付费方式信息,支持按需和包周期。
详情请参见表4。
backup_strategy
否
Object
自动备份策略。
详情请参见表6。
restore_point
是
Object
恢复数据源对象。
详情请参见表5。
enable_parallel_restore
否
Boolean
是否支持备份并行恢复。当不传该参数时,企业版默认为不支持,主备版默认支持。
configuration_id
否
String
参数组ID。当不传该参数时,使用系统默认的参数模板。
enterprise_project_id
否
String
企业项目ID。
port
否
String
数据库对外开放的端口,不填默认为8000,可选范围为:1024-39998。限制端口: 2378,2379,2380,4999,5000,5999,6000,6001,8097,8098,12016,12017,20049,20050,21731,21732,32122,32123,32124。
time_zone
否
String
UTC时区。
-
不选择时,GaussDB国内站默认为UTC时间。
-
选择填写时,取值范围为UTC-12:00~UTC+12:00,且只支持整段时间,如UTC+08:00,不支持UTC+08:30。
enable_force_switch
否
Boolean
enable_force_switch表示是否开启备机强升主功能,仅支持取值true,false。
enable_force_switch=true表示开启备机强升主功能,enable_force_switch=false表示关闭,默认关闭。仅支持1.2.2及以上版本。
说明:
备机强升主功能适用场景:在主机发生故障后,为了保障集群的可用性,强制拉起备机作为新主机对外提供服务的场景。 本功能在集群故障状态下,以丢失部分数据为代价换取集群尽可能快的恢复服务。本功能是集群状态为不可用时的一个逃生方法,如果操作者不清楚备机强升后丢失数据对业务的影响,请勿使用本功能。
表3 volume字段数据结构说明
参数
是否必选
参数类型
描述
type
是
String
磁盘类型。
主备模式仅支持LOCALSSD,分布式模式独立部署仅支持ULTRAHIGH,区分大小写,表示本地SSD盘及云磁盘。
支持ULTRAHIGH,表示本地盘;支持ESSD,表示极速云盘。
size
是
Integer
磁盘大小,需要大于等于原实例。例如:该参数填写为“40”,表示为恢复的实例分配40GB的磁盘空间。
ECS部署方案取值范围:(分片数*40GB)~(分片数*16TB),且大小只能为分片数*4GB的整数倍。
表4 charge_info字段数据结构说明
参数
是否必选
参数类型
描述
charge_mode
是
String
计费模式。支持postPaid,后付费,即按需付费;prePaid,先付费,即包周期。
period_type
否
string
订购周期类型。month:包月。year:包年。 说明: “charge_mode”为“prePaid”时生效,且为必选值。
period_num
否
integer
“charge_mode”为“prePaid”时生效,且为必选值,指定订购的时间。
取值范围:
当“period_type”为“month”时,取值为19。 当“period_type”为“year”时,取值为13。
当传入浮点型时,会自动截取为整型。
is_auto_renew
否
boolean
创建包周期实例时可指定,表示是否自动续订,续订时会自动支付。 按月订购时续订周期默认为1个月,按年订购时续订周期默认为1年,续订周期可自定义修改。
true,表示自动续订。 false,表示不自动续订,默认为该方式。
is_auto_pay
否
boolean
创建包周期实例时可指定,表示是否自动从账户中支付,该字段不影响自动续订的支付方式。
true,表示自动从账户中支付。 false,表示手动从账户中支付,默认为该支付方式。
表5 restore_point字段数据结构说明
参数
是否必选
参数类型
描述
instance_id
是
String
源实例ID。
backup_id
否
String
用于恢复的备份ID。
type
否
String
表示恢复方式,枚举值:
- “backup”,表示使用备份文件恢复,按照此方式恢复时,“type”字段为非必选,“backup_id”必选。
- “timestamp”,表示按时间点恢复,按照此方式恢复时,“type”字段必选,“restore_time”必选。
枚举值:
- backup
- timestamp
restore_time
否
Long
恢复数据的时间点,格式为UNIX时间戳,单位是毫秒,时区为UTC。
表6 backup_strategy字段数据结构说明
参数
是否必选
参数类型
描述
start_time
是
String
废弃字段,无需填写。
keep_days
否
Integer
废弃字段,无需填写。
响应参数
表7 要素说明
参数
参数类型
描述
instance
Object
实例信息。
详情请参见表8。
job_id
String
恢复新实例的任务id。
order_id
string
创建实例的订单ID。
仅创建包周期实例时会返回该参数。
表8 instance说明
参数
参数类型
描述
id
String
实例id。
name
String
实例名称。 用于表示实例的名称,同一租户下,同类型的实例名可重名。
取值范围:4~64个字符之间,必须以字母开头,区分大小写,可以包含字母、数字、中划线或者下划线,不能包含其他的特殊字符。
status
String
实例状态。如BUILD,表示创建中。
datastore
Object
数据库信息。
详情请参见表9
ha
Object
实例部署形态。
详情请参见表10
port
String
数据库端口信息。 当不传该参数时,默认端口8000。
enterprise_project_id
String
项目标签。
volume
Object
volume信息。
详情请参见表11
backup_strategy
Object
自动备份策略。
详情请参见表12
replica_num
Integer
实例副本数。
region
String
区域ID。
取值范围:非空,请参见地区和终端节点。
flavor_ref
String
规格码。
availability_zone
String
可用区ID。可选部署在同一可用区或三个不同可用区,可用区之间用逗号隔开。
取值范围:非空,请参见地区和终端节点。
vpc_id
String
虚拟私有云ID。
subnet_id
String
子网ID。
security_group_id
String
安全组ID。
charge_info
Object
付费方式信息,支持按需和包周期。
详情请参见表13。
表9 datastore字段数据结构说明
参数
参数类型
描述
type
String
数据库引擎,返回值如下: GaussDB
枚举值:
- GaussDB
version
String
数据库版本。
表10 ha字段数据结构说明
参数
参数类型
描述
mode
String
GaussDB 分布式模式,返回值为:enterprise(企业版);主备版,返回值为:centralization_standard(主备版)。
replication_mode
String
备机同步模式。固定取值为sync,表示数据同步方式为“同步模式”。
consistency
String
GaussDB的预留参数:指定实例一致性类型,取值范围:strong(强一致性) | eventual(最终一致性)。
枚举值:
- strong
- eventual
表11 volume字段数据结构说明
参数
参数类型
描述
type
String
磁盘类型。
取值如下,区分大小写:
- ULTRAHIGH,表示SSD。
- ESSD,表示极速云盘
枚举值:
- ULTRAHIGH
- ESSD
size
Integer
磁盘大小。
GaussDB分布式实例恢复时需指定大小:要求必须为(分片数*4GB)的倍数,取值范围:(分片数
*40GB)~(分片数
*16TB)。
表12 backup_strategy字段数据结构说明
参数
参数类型
描述
start_time
String
废弃字段。无需关注。
keep_days
Integer
废弃字段。无需关注。
表13 charge_info字段数据结构说明
参数
参数类型
描述
charge_mode
String
计费模式。支持postPaid,后付费,即按需付费;perPaid,先付费,即包周期。
period_type
string
订购周期类型。month:包月。year:包年。 说明: “charge_mode”为“prePaid”时生效,且为必选值。
period_num
integer
“charge_mode”为“prePaid”时生效,且为必选值,指定订购的时间。
取值范围:
当“period_type”为“month”时,取值为19。 当“period_type”为“year”时,取值为13。
is_auto_renew
boolean
包周期实例特有,表示是否自动续订,续订时会自动支付。 按月订购时续订周期默认为1个月,按年订购时续订周期默认为1年,续订周期可自定义修改。
true,表示自动续订。 false,表示不自动续订,默认为该方式。
is_auto_pay
boolean
包周期实例时特有,表示是否自动从账户中支付,该字段不影响自动续订的支付方式。
true,表示自动从账户中支付。 false,表示手动从账户中支付,默认为该支付方式。
请求示例
-
按备份文件恢复到新实例,新实例规格为8U64G,磁盘为160G。
POST https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances { "name": "targetInst", "availability_zone": "aaa,bbb,ccc", "flavor_ref": "gaussdb.opengauss.ee.dn.m6.2xlarge.8.in", "volume": { "type": "ULTRAHIGH", "size": 160 }, "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", "password": "******", "restore_point": { "instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin14", "backup_id": "2f4ddb93b9014b0893d81d2e472f30febr14" }, "enable_parallel_restore": false, "configuration_id": "52e86e87445847a79bf807ceda213165pr01", "enterprise_project_id": "ba1f7fc8-3307-42a7-aa6f-42c8b9b8f85c", "port": 8000, "enable_force_switch": true, "time_zone": "UTC+04:00" } -
按备份文件恢复到新实例,新实例规格为8U64G,磁盘为160G。
POST https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances { "name": "targetInst", "availability_zone": "aaa,bbb,ccc", "flavor_ref": "gaussdb.opengauss.ee.dn.m6.2xlarge.8.in", "volume": { "type": "ULTRAHIGH", "size": 160 }, "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", "password": "******", "restore_point": { "instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin14", "backup_id": "2f4ddb93b9014b0893d81d2e472f30febr14", "type": "backup" }, "enable_parallel_restore": false, "configuration_id": "52e86e87445847a79bf807ceda213165pr01", "enterprise_project_id": "ba1f7fc8-3307-42a7-aa6f-42c8b9b8f85c", "port": 8000, "enable_force_switch": true, "time_zone": "UTC+04:00" } -
按时间点恢复到新实例,新实例规格为8U64G,磁盘为160G。
POST https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances { "name": "targetInst", "availability_zone": "aaa,bbb,ccc", "flavor_ref": "gaussdb.opengauss.ee.dn.m6.2xlarge.8.in", "volume": { "type": "ULTRAHIGH", "size": 160 }, "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", "password": "******", "restore_point": { "instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin14", "type": "timestamp", "restore_time": 1532001446987 }, "enable_parallel_restore": false, "configuration_id": "52e86e87445847a79bf807ceda213165pr01", "enterprise_project_id": "ba1f7fc8-3307-42a7-aa6f-42c8b9b8f85c", "port": 8000, "enable_force_switch": true, "time_zone": "UTC+04:00" }
响应消息
恢复到新实例成功。
{
"instance": {
"id": "2gfdsh844a4023a776fc5c5fb71fb4in14",
"name": "gaussdb-instance-rep2",
"status": "BUILD",
"datastore": {
"type": "GaussDB",
"version": "1.4"
},
"ha": {
"mode": "enterprise",
"consistency": "strong",
"replication_mode": "sync"
},
"volume": {
"type": "ULTRAHIGH",
"size": 160
},
"port": "8000",
"replica_num": 3,
"region": "regionA",
"enable_parallel_restore": false,
"flavor_ref": "gaussdb.opengauss.ee.dn.m6.2xlarge.8.in",
"availability_zone": "aaa,bbb,ccc",
"vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce",
"subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f",
"security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5",
"charge_info": {
"charge_mode": "postPaid"
},
"enterprise_project_id": "fdsa-3rds",
},
"job_id": "dff1d289-4d03-4942-8b9f-463ea07c000d"
}
状态码
-
正常
202
-
异常
请参见状态码。
错误码
请参见错误码。