Restoring Data to a New DB Instance
Function
This API is used to restore data to a new DB instance.
- Before calling this API, learn how to authenticate it.
- Before calling this API, learn about request header parameters.
Constraints
- The DB engine of the original DB instance must be the same as that of the target DB instance. For example, if the original DB instance is running MySQL, the target DB instance must also run MySQL.
- The constraints on the original and target DB instances are as follows:
- For RDS for MySQL and RDS for PostgreSQL, the DB engine versions of the original and target DB instances must be the same.
- For RDS for SQL Server, the time zones of the original and target DB instances must be the same. Otherwise, data inconsistency may occur.
- The total disk size of the target DB instance must be at least equal to that of the original DB instance.
URI
- URI format
- Parameter description
Table 1 Parameters Parameter
Mandatory
Description
project_id
Yes
Project ID of a tenant in a region.
For details about how to obtain the project ID, see Obtaining a Project ID.
Request
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
name |
Yes |
String |
Specifies the DB instance name. The DB instance name of the same type must be unique for the same tenant. Valid value:
|
|
password |
No |
String |
Specifies the database password. If this parameter is not specified, you can reset the password after the instance is created. Valid value: A database password must be 8 to 32 characters long and contain at least three types of the following characters: uppercase letters, lowercase letters, digits, and special characters. You are advised to enter a strong password to improve security, preventing security risks such as brute force cracking. |
|
flavor_ref |
Yes |
String |
Specification code. The value cannot be left blank. For details, see spec_code in section Querying Database Specifications. |
|
volume |
Yes |
Object |
Specifies the volume information. For details, see Table 7. |
|
availability_zone |
Yes |
String |
Specifies the AZ ID. If the DB instance is not a single instance, you need to specify an AZ for each node of the instance and separate the AZs with commas (,). For details, see the example. |
|
restore_point |
Yes |
Object |
Specifies the restoration information. For details, see Table 8. |
|
ha |
No |
Object |
Specifies the HA configuration parameters, which are used when creating primary/standby DB instances. For details, see Table 3. |
|
configuration_id |
No |
String |
Specifies the parameter template ID. |
|
port |
No |
String |
Specifies the database port information.
If this parameter is not set, the default value is as follows:
|
|
backup_strategy |
No |
Object |
Specifies the advanced backup policy. For details, see Table 6. |
|
enterprise_project_id |
No |
String |
Specifies the project ID. |
|
disk_encryption_id |
No |
String |
Specifies the key ID for disk encryption. The default value is empty. |
|
vpc_id |
No |
String |
Specifies the VPC ID. To obtain this parameter value, use either of the following methods:
|
|
subnet_id |
No |
String |
Specifies the subnet ID. To obtain this parameter value, use either of the following methods:
|
|
data_vip |
No |
String |
Specifies the floating IP address of a DB instance. To obtain this parameter value, use either of the following methods:
|
|
security_group_id |
No |
String |
Specifies the security group which the RDS DB instance belongs to. To obtain this parameter value, use either of the following methods:
|
|
charge_info |
No |
Object |
Specifies the billing information, which is yearly/monthly or pay-per-use (default setting). Only RDS for SQL Server supports restoration of yearly/monthly DB instances to new instances. For details, see Table 9. |
|
collation |
No |
String |
This parameter applies only to RDS for SQL Server DB instances. Value range: character sets queried in Querying the Available SQL Server Character Set. |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
mode |
Yes |
String |
Specifies the primary/standby instance type. The value is Ha (case-insensitive). |
|
replication_mode |
Yes |
String |
Specifies the replication mode for the standby DB instance. The value cannot be empty.
NOTE:
|
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
type |
Yes |
String |
Specifies the DB engine. Value: SQLServer |
|
version |
Yes |
String |
Specifies the database version. For details about supported database versions, see Querying Version Information About a DB Engine. |
|
Original |
Restore To |
|---|---|
|
2014 |
2014 2014 |
|
2014 |
2014 |
|
2016 |
2016 2016 |
|
2016 |
2016 |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
start_time |
Yes |
String |
Specifies the backup time window. Automated backups will be triggered during the backup time window. The value cannot be empty. It must be a valid value in the "hh:mm-HH:MM" format. The current time is in the UTC format.
Example value:
|
|
keep_days |
No |
Integer |
Specifies the retention days for specific backup files. The value range is from 0 to 732. If this parameter is not specified or set to 0, the automated backup policy is disabled. |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
type |
Yes |
String |
Specifies the storage type. Its value can be any of the following and is case-sensitive:
|
|
size |
Yes |
Integer |
Specifies the storage space. Its value range is from 40 to 4000, in GB. The value must be a multiple of 10.
NOTICE:
The storage of the new DB instance must be at least equal to that of the original DB instance. |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
instance_id |
Yes |
String |
Specifies the DB instance ID. |
|
type |
Yes |
String |
Specifies the restoration mode. Enumerated values include:
|
|
backup_id |
No |
String |
Specifies the ID of the backup used to restore data. This parameter must be specified when backups are used for restoration.
NOTICE:
When type is not mandatory, backup_id is mandatory. |
|
restore_time |
No |
Integer |
Specifies the time point of data restoration in the UNIX timestamp. The unit is millisecond and the time zone is UTC.
NOTICE:
When type is mandatory, restore_time is mandatory. |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
charge_mode |
Yes |
String |
Specifies the billing mode. |
|
period_type |
No |
String |
Specifies the subscription type. Value range:
|
|
period_num |
No |
Integer |
Specifies the subscription period. This parameter is valid and mandatory if charge_mode is set to prePaid. Value range:
|
|
is_auto_renew |
No |
boolean |
Specifies whether automatic renewal is enabled for yearly/monthly DB instances. The renewal period is the same as the original period and the order will be automatically paid.
|
|
is_auto_pay |
No |
boolean |
Specifies whether the order will be automatically paid after yearly/monthly DB instances are created. This parameter does not affect the payment mode of automatic renewal.
|
Example Request
- Restore a MySQL backup to a new DB instance.
{ "name": "targetInst", "availability_zone": "bbb,ccc", "ha": { "mode": "ha", "replication_mode": "async" }, "flavor_ref": "rds.mysql.s1.large", "volume": { "type": "CLOUDSSD", "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", "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", "time_zone": "UTC+04:00", "restore_point": { "instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin01", "type": "backup", "backup_id": "2f4ddb93-b901-4b08-93d8-1d2e472f30fe" } }
- Restore data of an RDS for MySQL instance to a specific point in time.
{ "name": "targetInst", "availability_zone": "bbb,ccc", "ha": { "mode": "ha", "replication_mode": "async" }, "flavor_ref": "rds.mysql.s1.large", "volume": { "type": "CLOUDSSD", "size": 40 }, "vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce", "subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f", "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", "restore_point": { "instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin01", "type": "timestamp", "restore_time": 1532001446987 } }
Response
- Normal response
Table 10 Parameters Parameter
Type
Description
instance
Object
Indicates the DB instance information.
For details, see Table 11.
job_id
String
Indicates the ID of the DB instance creation task. This parameter is returned only for the restoration to a new DB instance billed on the pay-per-use basis.
order_id
String
Indicates the order ID. This parameter is returned only for the creation of an RDS for SQL Server DB instance billed on the yearly/monthly basis.
Table 11 instance description Parameter
Type
Description
id
String
Indicates the DB instance ID.
name
String
Indicates the DB instance name.
The DB instance name of the same type must be unique for the same tenant.
status
String
Indicates the DB instance status. For example, BUILD indicates that the DB instance is being created.
datastore
Object
Indicates the database information.
For details, see Table 12.
ha
Object
Indicates the HA configuration parameters. This parameter is returned only when primary/standby DB instances are created.
For details, see Table 13.
configuration_id
String
Indicates the parameter template ID. This parameter is returned only when a custom parameter template is used during DB instance creation.
port
String
Indicates the database port information.
- RDS for MySQL instances can use database ports 1024 to 65535, excluding 12017 and 33071, which are reserved for RDS system use.
- RDS for PostgreSQL instances can use database ports 2100 to 9500.
If this parameter is not set, the default value is as follows:
- RDS for MySQL: 3306
- RDS for PostgreSQL: 5432
- RDS for SQL Server: 1433
backup_strategy
Object
Indicates the automated backup policy.
For details, see Table 14.
flavor_ref
String
Indicates the specification ID.
For details, see spec_code in Table 3 in section Querying Database Specifications.
volume
Object
Indicates the volume information.
For details, see Table 15.
region
String
Indicates the region ID.
availability_zone
String
Indicates the AZ ID.
vpc_id
String
Specifies the VPC ID. To obtain this parameter value, use either of the following methods:
- Method 1: Log in to the VPC console and view the VPC ID on the VPC details page.
- Method 2: See the "Querying VPCs" section in the Virtual Private Cloud API Reference.
subnet_id
String
Specifies the network ID. To obtain this parameter value, use either of the following methods:
- Method 1: Log in to the VPC console and click the target subnet on the Subnets page. You can view the network ID on the displayed page.
- Method 2: See the "Querying Subnets" section in the Virtual Private Cloud API Reference.
security_group_id
String
Indicates the security group which the RDS DB instance belongs to. To obtain this parameter value, use either of the following methods:
- Method 1: Log in to VPC console. Choose Access Control > Security Groups in the navigation pane. On the displayed page, click the target security group. You can view the security group ID on the displayed page.
- Method 2: See the "Querying Security Groups" section in the Virtual Private Cloud API Reference.
collation
String
Indicates the collation for RDS for SQL Server.
Table 12 datastore field data structure description Parameter
Mandatory
Type
Description
type
Yes
String
Indicates the DB engine. Its value can be any of the following and is case-insensitive:
- MySQL
- PostgreSQL
- SQLServer
version
Yes
String
Indicates the database version.
For details about supported database versions, see section Querying Version Information About a DB Engine.
complete_version
No
String
Indicates the complete version number. This parameter is returned only when the DB engine is PostgreSQL.
Table 13 ha field data structure description Parameter
Mandatory
Type
Description
mode
Yes
String
Indicates the primary/standby instance type. The value is Ha.
replication_mode
Yes
String
Indicates the replication mode for the standby DB instance.
The value cannot be empty.
- RDS for MySQL: The value is async or semisync.
- RDS for PostgreSQL: The value is async or sync.
- RDS for SQL Server: The value is sync.
NOTE:- async indicates the asynchronous replication mode.
- semisync indicates the semi-synchronous replication mode.
- sync indicates the synchronous replication mode.
Table 14 backupStrategy field data structure description Parameter
Mandatory
Type
Description
start_time
Yes
String
Indicates the backup time window. Automated backups will be triggered during the backup time window.
The value cannot be empty. It must be a valid value in the "hh:mm-HH:MM" format. The current time is in the UTC format.
- The HH value must be 1 greater than the hh value.
- The values of mm and MM must be the same and must be set to any of the following: 00, 15, 30, or 45.
Example value:
- 08:15-09:15
- 23:00-00:00
keep_days
No
Integer
Indicates the retention days for specific backup files.
The value range is from 0 to 732. If this parameter is not specified or set to 0, the automated backup policy is disabled.
Table 15 volume field data structure description Parameter
Mandatory
Type
Description
type
Yes
String
Specifies the volume type.
Its value can be any of the following and is case-sensitive:
- ULTRAHIGH: ultra-high I/O storage.
- CLOUDSSD: cloud SSD storage.
- ESSD: extreme SSD storage.
size
Yes
Integer
Indicates the volume size.
Its value range is from 40 to 4000, in GB. The value must be a multiple of 10.
- Example normal response
{ "instance": { "id": "f5ffdd8b1c98434385eb001904209eacin01", "name": "demoname", "status": "BUILD", "datastore": { "type": "MySQL", "version": "5.7.31" }, "port": "3306", "volume": { "type": "CLOUDSSD", "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" }RDS for SQL Server
{ "instance": { "id": "f5ffdd8b1c98434385eb001904209eacin01", "name": "demoname", "status": "BUILD", "datastore": { "type": "sqlserver", "version": "2014_SE" }, "port": "2100", "volume": { "type": "ULTRAHIGH", "size": "40" }, "backup_strategy": { "start_time": "02:00-03:00", "keep_days": "7" }, "flavor_ref": "rds.mssql.2014.se.s3.large.2", "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" } - Abnormal response
For details, see Abnormal Request Results.
Status Code
- Normal
- Abnormal
For details, see Status Codes.
Error Code
For details, see Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.