创建数据迁移任务

最近更新时间:2024-04-03 11:17:51

我的收藏

1. 接口描述

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

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

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

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

推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

2. 输入参数

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

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:CreateMigrateJob。
Version String 公共参数,本接口取值:2018-03-30。
Region String 公共参数,详见产品支持的 地域列表
JobName String 数据迁移任务名称
示例值:usertest // DTS任务名称
MigrateOption MigrateOption 迁移任务配置选项
SrcDatabaseType String 源实例数据库类型,目前支持:mysql,redis,mongodb,postgresql,mariadb,percona,sqlserver 不同地域数据库类型的具体支持情况,请参考控制台创建迁移页面。
示例值:mysql // 源实例是mysql
SrcAccessType String 源实例接入类型,值包括:extranet(外网),cvm(CVM自建实例),dcg(专线接入的实例),vpncloud(云VPN接入的实例),cdb(腾讯云数据库实例),ccn(云联网实例)
示例值:extranet // 公网迁移
SrcInfo SrcInfo 源实例信息,具体内容跟迁移任务类型相关
DstDatabaseType String 目标实例数据库类型,目前支持:mysql,redis,mongodb,postgresql,mariadb,percona,sqlserver,cynosdbmysql。不同地域数据库类型的具体支持情况,请参考控制台创建迁移页面。
示例值:mysql // 目标实例mysql
DstAccessType String 目标实例接入类型,目前支持:cdb(腾讯云数据库实例)
示例值:cdb // 目标实例是腾讯云mysql
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"}]
Tags.N Array of TagItem 迁移实例的tag
SrcNodeType String 源实例类型: ""或者"simple":主从节点,"cluster": 集群节点
示例值:cluster
SrcInfoMulti.N Array of SrcInfo 源实例信息,具体内容跟迁移任务类型相关

3. 输出参数

参数名称 类型 描述
JobId String 数据迁移任务ID
示例值:dts-1kl0iy0v
RequestId String 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。

4. 示例

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

将用户通过专线接入的mysql实例, 全量+增量迁移迁移到腾讯云上海地域的cdb-d0dqi8nv实例上. 其中源实例的接入地域为广州.

输入示例

POST / HTTP/1.1
Host: dts.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateMigrateJob
<公共请求参数>

{
    "JobName": "设置为一个方便辨识的名称",
    "SrcDatabaseType": "mysql",
    "SrcAccessType": "dcg",
    "SrcInfo": {
        "Supplier": "others",
        "UniqDcgId": "dcg-cyrjcc09",
        "VpcId": "vpc-72jblfaa",
        "SubnetId": "subnet-7raec42a",
        "Ip": "192.168.120.136",
        "Region": "ap-guangzhou",
        "User": "root",
        "Password": "yourPassword",
        "Port": 3306
    },
    "DstDatabaseType": "mysql",
    "DstAccessType": "cdb",
    "DstInfo": {
        "InstanceId": "cdb-d0dqi8nv",
        "Region": "ap-shanghai",
        "ReadOnly": 0,
        "User": "root",
        "Password": "yourPassword"
    },
    "DatabaseInfo": "[{\"Database\":\"test\",\"Table\":[\"user\",\"log\"]}]",
    "Tags": [
        {
            "TagKey": "负责人",
            "TagValue": "bob"
        }
    ],
    "MigrateOption": {
        "ExternParams": "{}",
        "MigrateObject": 1,
        "RunMode": 1,
        "ExpectTime": "2020-09-22 00:00:00",
        "ConsistencyType": 2,
        "MigrateType": 2,
        "IsOverrideRoot": 0
    }
}

输出示例

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

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

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

输入示例

POST / HTTP/1.1
Host: dts.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateMigrateJob
<公共请求参数>

{
    "JobName": "设置为一个方便辨识的名称",
    "SrcDatabaseType": "mysql",
    "SrcAccessType": "cdb",
    "SrcInfo": {
        "Supplier": "others",
        "InstanceId": "cdb-ieow93923",
        "User": "root",
        "Password": "yourPassword"
    },
    "DstDatabaseType": "mysql",
    "DstAccessType": "cdb",
    "DstInfo": {
        "InstanceId": "cdb-e78e0nnv",
        "Region": "ap-shanghai",
        "ReadOnly": 0,
        "User": "root",
        "Password": "yourPassword"
    },
    "DatabaseInfo": "[]",
    "Tags": [
        {
            "TagKey": "负责人",
            "TagValue": "bob"
        }
    ],
    "MigrateOption": {
        "ExternParams": "{}",
        "MigrateObject": 1,
        "RunMode": 1,
        "ExpectTime": "2020-09-22 00:00:00",
        "ConsistencyType": 5,
        "MigrateType": 2,
        "IsOverrideRoot": 0
    }
}

输出示例

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

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

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

输入示例

POST / HTTP/1.1
Host: dts.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateMigrateJob
<公共请求参数>

{
    "JobName": "设置为一个方便辨识的名称",
    "SrcDatabaseType": "mysql",
    "SrcAccessType": "extranet",
    "SrcInfo": {
        "Supplier": "others",
        "Ip": "14.17.22.36",
        "Region": "ap-guangzhou",
        "User": "root",
        "Password": "yourPassword",
        "Port": 3306
    },
    "DstDatabaseType": "mysql",
    "DstAccessType": "cdb",
    "DstInfo": {
        "InstanceId": "cdb-e78e0nnv",
        "Region": "ap-shanghai",
        "ReadOnly": 0,
        "User": "root",
        "Password": "yourPassword"
    },
    "DatabaseInfo": "[]",
    "Tags": [
        {
            "TagKey": "负责人",
            "TagValue": "bob"
        }
    ],
    "MigrateOption": {
        "ExternParams": "{}",
        "MigrateObject": 1,
        "RunMode": 1,
        "ExpectTime": "2020-09-22 00:00:00",
        "ConsistencyType": 2,
        "MigrateType": 2,
        "IsOverrideRoot": 0
    }
}

输出示例

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

5. 开发者资源

腾讯云 API 平台

腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。

API Inspector

用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。

SDK

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

命令行工具

6. 错误码

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

错误码 描述
AuthFailure.UnauthorizedOperationError 鉴权失败,当前用户不允许执行该操作。
FailedOperation.NotAllowOperation 禁止该操作。
InternalError.DatabaseError 迁移平台数据库访问失败。
InternalError.DuplicateJob 迁移任务冲突。
InternalError.InternalErrorError 内部错误。
InternalError.InternalHttpServerError http请求访问出错。
InternalError.InternalInnerCommonError 内部组件访问错误。
InternalError.ProtocolError 通信协议错误。
InternalError.UnknownError 未知的内部错误。
InvalidParameter 参数错误。
InvalidParameter.BizInvalidParameterValueError 参数值错误。
InvalidParameter.InvalidParameterError 参数无效。
InvalidParameterValue.BizInvalidParameterValueError 业务参数错误。
InvalidParameterValue.DataConvertError 数据转换错误。
InvalidParameterValue.InvalidParameterValueError 非法参数。
LimitExceeded.MaxUnusedJobs 闲置迁移任务数目超过限制。
OperationDenied 操作被拒绝。
OperationDenied.NotEnoughMoneyError 用户余额不足。
OperationDenied.OperationDeniedError 操作被拒绝。
UnauthorizedOperation.NotEnoughPrivileges 认证失败,没有足够权限。