调用CloneDBInstance接口将历史数据恢复至一个新实例(称为克隆实例)。

调用该接口时,实例必须满足以下条件,否则将操作失败:

  • 实例状态为运行中。
  • 实例当前没有正在执行的迁移任务。
  • 实例已开启日志备份(用于按时间点恢复)。
  • 若要按备份集克隆实例,则主实例必须至少有一个已完成备份的备份集。
说明 RDS支持RAM子账号创建克隆实例,请务必保证子账号已添加克隆实例的授权策略,添加授权请参见云数据库RDS授权

实例内数据库账号信息克隆以及其他功能的设置克隆将遵循如下方式:

  • 实例内的白名单设置、SQL洞察(SQL审计)设置、阈值报警设置、备份设置、参数设置将和当前实例状态保持一致。
  • 实例内的数据信息、账号信息与备份文件或时间点当时信息一致。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String CloneDBInstance

系统规定参数。取值:CloneDBInstance

RegionId String cn-hangzhou

地域ID。可以通过接口DescribeRegions查看地域ID。

ZoneId String cn-hangzhou-b

可用区ID。可以通过接口DescribeRegions查看可用区ID。

说明 默认为源实例的可用区。
DBInstanceClass String mysql.n1.micro.1

实例规格,详见实例规格表

说明 默认规格和主实例一致。
DBInstanceStorage Integer 1000

实例存储空间,单位:GB。每5GB进行递增,详见实例规格表

说明 默认存储空间和主实例一致。
DbNames String {sourceDbName1":"targetDbName1"}

数据库名称。

若指定多个数据库,按如下格式:{"原库名1":"新库名1","原库名2":"新库名2"}。

PayType String Postpaid

付费类型,取值:

  • Postpaid:后付费(按量付费)
  • Prepaid:预付费(包年包月)
InstanceNetworkType String VPC

实例的网络类型,取值:

  • VPC:专有网络
  • Classic:经典网络
说明 默认网络类型和主实例一致。
DBInstanceId String rm-uf6wjk5xxxxxxxxxx

实例ID。

BackupId String 9026262

备份集ID。

您可以通过DescribeBackups接口获取备份列表。

说明 BackupIdRestoreTime两者至少传入一个。
RestoreTime String 2011-06-11T16:00:00Z

备份保留周期内的任意时间点。格式:yyyy-MM-ddTHH:mm:ssZ(UTC时间)。

说明 BackupIdRestoreTime两者至少传入一个。
VPCId String vpc-uf6f7l4fg90xxxxxxxxxx

专有网络VPC ID。

说明 请确保VPC属于对应的地域。
VSwitchId String vsw-uf6adz52c2pxxxxxxxxxx

虚拟交换机ID。

说明 请确保虚拟交换机属于对应的和VPC和地域。
PrivateIpAddress String 172.16.201.69

新实例的内网IP,需要在指定交换机的IP地址范围内。系统默认通过VPCIdVSwitchId自动分配。

UsedTime Integer 1

购买时长,取值:

  • 当参数PeriodYear时,UsedTime取值为1~3
  • 当参数PeriodMonth时,UsedTime取值为1~9
说明 若付费类型为Prepaid则该参数必须传入。
Period String Year

预付费实例为包年或者包月类型,取值:

  • Year:包年
  • Month:包月
说明 若付费类型为Prepaid则该参数必须传入。
Category String HighAvailability

实例系列,取值:

  • Basic:基础版
  • HighAvailability:高可用版
  • AlwaysOn:集群版
  • Finance:金融版(仅中国站支持)
DBInstanceStorageType String cloud_essd

实例存储类型,取值:

  • local_ssd:本地SSD盘
  • cloud_ssd:SSD云盘
  • cloud_essd:ESSD PL1云盘
  • cloud_essd2:ESSD PL2云盘
  • cloud_essd3:ESSD PL3云盘
RestoreTable String 1

是否进行库表恢复,取值为1时表示进行库表恢复,否则不填。

TableMeta String [{"type":"db","name":"testdb1","newname":"testdb1_new","tables":[{"type":"table","name":"testdb1table1","newname":"testdb1table1_new"}]}]

进行库表恢复时,指定恢复的库表信息。格式:

[{"type":"db","name":"数据库1名称","newname":"新数据库1名称","tables":[{"type":"table","name":"数据库1内的表1名称","newname":"新的表1名称"},{"type":"table","name":"数据库1内的表2名称","newname":"新的表2名称"}]},{"type":"db","name":"数据库2名称","newname":"新数据库2名称","tables":[{"type":"table","name":"数据库2内的表1名称","newname":"新的表1名称"},{"type":"table","name":"数据库2内的表2名称","newname":"新的表2名称"}]}]
DedicatedHostGroupId String dhg-7a9xxxxxxxx

专属集群ID。

BackupType String FullBackup

备份类型,取值:

  • FullBackup:全量备份
  • IncrementalBackup:增量备份
DeletionProtection Boolean true

是否开启释放保护功能。取值:

  • true:开启
  • false:关闭

默认值:false

ServerlessConfig Object

Serverless选项。仅在需要将数据克隆至Serverless实例时传入。

AutoPause Boolean true

是否开启Serverless实例的自动启停功能。10分钟无任何连接进入暂停状态,连接进入时会自动唤醒。取值:

  • true:启用。
  • false(默认):不启用。
MaxCapacity double 8

实例RCU(RDS Capacity Unit)的自动扩缩范围最大值。

MinCapacity double 0.5

实例RCU(RDS Capacity Unit)的自动扩缩范围最小值。

SwitchForce Boolean false

是否开启Serverless实例的强制弹性扩缩容。实例RCU的弹性扩缩容通常会立刻生效,但在某些特殊情况下无法即时完成扩缩容,此时可开启本参数进行强制扩缩容。取值:

  • true:启用。
  • false(默认):不启用。

返回数据

名称 类型 示例值 描述
DBInstanceId String rm-uf6wjk5xxxxxxx

实例ID。

RequestId String 1E43AAE0-BEE8-43DA-860D-EAF2AA0724DC

请求ID。

OrderId String 100789370xxxxx

订单ID。

示例

请求示例

http(s)://rds.aliyuncs.com/?Action=CloneDBInstance
&PayType=Postpaid
&DBInstanceId=rm-uf6wjk5xxxxxxxxxx
&DBInstanceStorageType=cloud_essd
&<公共请求参数>

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<?xml version="1.0" encoding="UTF-8" ?>
<CloneDBInstanceResponse>
	<OrderId>100789370xxxxx</OrderId>
	<DBInstanceId>rm-uf6wjk5xxxxxxx</DBInstanceId>
	<RequestId>1E43AAE0-BEE8-43DA-860D-EAF2AA0724DC</RequestId>
</CloneDBInstanceResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "OrderId" : "100789370xxxxx",
  "DBInstanceId" : "rm-uf6wjk5xxxxxxx",
  "RequestId" : "1E43AAE0-BEE8-43DA-860D-EAF2AA0724DC"
}

错误码

HttpCode 错误码 错误信息 描述
400 InvalidAvZone.Format Specified AvZone is not valid. 指定的AvZone不合法,请检查该参数的正确性。
400 CannotDecreaseEssdPerfLevel cannot decrease cloud essd performance level. 存储类型变更校验失败,SQL Server云盘实例只能转为云盘,SSD只能升级到SSD或ESSD。
400 CannotDecreaseEssdPerfLevel invalid cloud essd storage size. 云essd存储大小无效。
400 CDDC.AvailableHostsNotEnoughInZone Not enough available hosts are in the target zone. 目标可用区没有足够的主机资源,请在可用区中创建主机。

访问错误中心查看更多错误码。