创建数据迁移任务

最近更新时间:2019-08-16 16:50:55

1. 接口描述

接口请求域名: dts.tencentcloudapi.com 。

本接口(CreateMigrateJob)用于创建数据迁移任务。

如果是金融区链路, 请使用域名: dts.ap-shenzhen-fsi.tencentcloudapi.com

默认接口请求频率限制:20次/秒。

注意:本接口支持金融区地域。由于金融区和非金融区是隔离不互通的,因此当公共参数 Region 为金融区地域(例如 ap-shanghai-fsi)时,需要同时指定带金融区地域的域名,最好和 Region 的地域保持一致,例如:dts.ap-shanghai-fsi.tencentcloudapi.com。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:CreateMigrateJob
Version String 公共参数,本接口取值:2018-03-30
Region String 公共参数,详见产品支持的 地域列表
JobName String 数据迁移任务名称
MigrateOption MigrateOption 迁移任务配置选项
SrcDatabaseType String 源实例数据库类型,目前支持:mysql,redis,mongodb,postgresql,mariadb,percona。不同地域数据库类型的具体支持情况,请参考控制台创建迁移页面。
SrcAccessType String 源实例接入类型,值包括:extranet(外网),cvm(cvm自建实例),dcg(专线接入的实例),vpncloud(云vpn接入的实例),cdb(腾讯云数据库实例),ccn(云联网实例)
SrcInfo SrcInfo 源实例信息,具体内容跟迁移任务类型相关
DstDatabaseType String 目标实例数据库类型,目前支持:mysql,redis,mongodb,postgresql,mariadb,percona。不同地域数据库类型的具体支持情况,请参考控制台创建迁移页面。
DstAccessType String 目标实例接入类型,目前支持:cdb(腾讯云数据库实例)
DstInfo DstInfo 目标实例信息
DatabaseInfo String 需要迁移的源数据库表信息,用json格式的字符串描述。当MigrateOption.MigrateObject配置为2(指定库表迁移)时必填。
对于database-table两级结构的数据库:
[{Database:db1,Table:[table1,table2]},{Database:db2}]
对于database-schema-table三级结构:
[{Database:db1,Schema:s1
Table:[table1,table2]},{Database:db1,Schema:s2
Table:[table1,table2]},{Database:db2,Schema:s1
Table:[table1,table2]},{Database:db3},{Database:db4
Schema:s1}]

3. 输出参数

参数名称 类型 描述
JobId String 数据迁移任务ID
RequestId String 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。

4. 示例

示例1 创建公网数据迁移任务

将用户的mysql公网实例数据, 采用全量方式迁移到腾讯云上海地域的cdb-e78e0nnv实例上. 其中源实例的接入地域为广州. 数据一致性检查做全量检测.

输入示例

https://dts.tencentcloudapi.com/?Action=CreateMigrateJob
&JobName=usertest                               // DTS任务名称
&SrcDatabaseType=mysql                          // 源实例是mysql
&SrcAccessType=extranet                         // 公网迁移
&DstDatabaseType=mysql                          // 目标实例mysql
&DstAccessType=cdb                              // 目标实例是腾讯云mysql
&MigrateOption.RunMode=1                        // 立即执行
&MigrateOption.MigrateType=2                    // 全量
&MigrateOption.MigrateObject=1                  // 整实例迁移
&MigrateOption.ConsistencyType=2                // 做全量数据一致性检测
&MigrateOption.IsOverrideRoot=0                 // 不覆盖目标库root
&SrcInfo.Ip=14.17.22.36                         // 源实例公网IP
&SrcInfo.Port=10301                             // 源实例公网Port
&SrcInfo.User=root                              // 源实例用户名
&SrcInfo.Supplier=others                        // 非阿里迁移
&SrcInfo.Password=123456                        // 源实例密码
&SrcInfo.Region=ap-guangzhou                    // 源实例地域广州
&DstInfo.InstanceId=cdb-e78e0nnv                //  目标实例ID
&DstInfo.Region=ap-shanghai                     // 目标地域上海
&DstInfo.ReadOnly=1                             // 目标实例只读
&<公共请求参数>

输出示例

{
  "Response": {
    "JobId": "dts-1kl0iy0v",
    "RequestId": "2201c42a-714f-4faa-915b-a51cc09f5cec"
  }
}

示例2 创建专线数据迁移任务

将用户通过专线接入的mysql实例, 全量+增量迁移迁移到腾讯云上海地域的cdb-d0dqi8nv实例上. 其中源实例的接入地域为广州. 做数据一致性抽样检查.

输入示例

https://dts.tencentcloudapi.com/?Action=CreateMigrateJob
&JobName=usertest                                    // DTS任务名称
&SrcDatabaseType=mysql                               // 源实例是mysql
&SrcAccessType=dcg                                   // 公网迁移
&DstDatabaseType=mysql                               // 目标实例mysql
&DstAccessType=cdb                                   // 目标实例是腾讯云mysql
&MigrateOption.RunMode=1                             // 立即执行
&MigrateOption.MigrateType=1                         // 全量+增量迁移
&MigrateOption.MigrateObject=1                       // 整实例迁移
&MigrateOption.ConsistencyType=3                     // 抽样检测
&MigrateOption.ConsistencyParams.SelectRowsPerTable=10    // 随机抽取20% 的表,每张表随机抽取10%的记录进行数据内容校验
&MigrateOption.ConsistencyParams.TablesSelectAll=20
&MigrateOption.ConsistencyParams.TablesSelectCount=30     // 随机抽取30% 的表进行记录条数校验,即Select count(*)
&MigrateOption.IsOverrideRoot=0                     // 不覆盖目标库root
&SrcInfo.UniqDcgId=dcg-cyrjcc09                     // 专线网关ID
&SrcInfo.VpcId=vpc-72jblfaa                         // 私有网络ID
&SrcInfo.SubnetId=subnet-7raec42a                   // 子网ID
&SrcInfo.Ip=192.168.120.136                         // 源实例IP
&SrcInfo.Port=3307                                  // 源实例Port
&SrcInfo.User=root                                  // 源实例用户名
&SrcInfo.Supplier=others                            // 非阿里迁移
&SrcInfo.Password=123456                            // 源实例密码
&SrcInfo.Region=ap-guangzhou                        // 源实例地域广州
&DstInfo.InstanceId=cdb-d0dqi8nv                    // 目标实例ID
&DstInfo.Region=ap-shanghai                         // 目标地域上海
&DstInfo.ReadOnly=1                                 // 目标实例只读
&<公共请求参数>

输出示例

{
  "Response": {
    "JobId": "dts-o3s1vxsp",
    "RequestId": "915bc42a-714f-4faa-915b-a51cc09f5714"
  }
}

示例3 创建云数据库迁移任务

从腾讯云mysql实例结构迁移到腾讯云另一个mysql实例,选择部分库表做,不做数据一致性检查。

输入示例

https://dts.tencentcloudapi.com/?Action=CreateMigrateJob
&JobName=usertest                                    // DTS任务名称
&SrcDatabaseType=mysql                               // 源实例是mysql
&SrcAccessType=cdb                                   // 云数据库迁移
&DstDatabaseType=mysql                               // 目标实例mysql
&DstAccessType=cdb                                   // 目标实例是腾讯云mysql
&MigrateOption.RunMode=1                             // 立即执行
&MigrateOption.MigrateType=1                         // 结构迁移
&MigrateOption.MigrateObject=2                       // 指定库表迁移
&DatabaseInfo='[{"Database":"test","Table":["user","log"]}]'    // 需要迁移的库表
&MigrateOption.ConsistencyType=5                     // 不检测
&SrcInfo.InstanceId=cdb-powiqx8q                     // 源实例ID
&SrcInfo.User=root                                   // 源实例用户名
&SrcInfo.Supplier=others                             // 非阿里迁移
&SrcInfo.Password=123456                             // 源实例密码
&SrcInfo.Region=ap-guangzhou                         // 源实例地域广州
&DstInfo.InstanceId=cdb-d0dqi8nv                     // 目标实例ID
&DstInfo.Region=ap-shanghai                          // 目标地域上海
&<公共请求参数>

输出示例

{
  "Response": {
    "JobId": "dts-46i7easd",
    "RequestId": "bc94c57b-9d69-11e9-84cb-256e968056b0"
  }
}

5. 开发者资源

API Explorer

该工具提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力,能显著降低使用云 API 的难度,推荐使用。

SDK

云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

命令行工具

6. 错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

错误码 描述
FailedOperation.NotAllowOperation 禁止该操作。
InternalError.DatabaseError 迁移平台数据库访问失败。
InternalError.DuplicateJob 迁移任务冲突。
InternalError.ProtocolError 通信协议错误。
InvalidParameter 参数错误
LimitExceeded.MaxUnusedJobs 闲置迁移任务数目超过限制。