接口说明
配置传输任务, 内容包括传输对象的映射关系, 数据库连接信息等;
注:任务配置完触发一键反向任务前置检查,接口同: 前置检查
请求结构
POST /v{version}/task/{taskId}/newRollback/config
Host: dts.baidubce.com
Authorization: authorization string
{
"taskName": "dtsTask1",
"openRollbackConfig": "true",
"dtsTaskPos": {
"type": "",
"dataType": [
"increment",
"schema",
"base"
],
"srcConnection": {
"instanceType": "",
"dbType": "",
"region": "",
"dbUser": "",
"dbPass": "",
"dbServer": "",
"shardUrl": "",
"field_whitelist": "",
"field_blacklist": "",
"maxRetryTime": ""
},
"dstConnection": {
"instanceType": "",
"dbType": "",
"region": "",
"dbUser": "",
"dbPass": "",
"dbServer": ""
},
"schemaMapping": [],
"accountMapping": [],
"granularity": "",
"dtsGroupName": ""
},
"dtsTaskNeg": {
"type": "",
"dataType": [
"increment"
],
"srcConnection": {
"instanceType": "",
"dbType": "",
"region": "",
"dbUser": "",
"dbPass": "",
"dbServer": "",
"field_whitelist": "",
"field_blacklist": "",
"shardUrl": ""
},
"dstConnection": {
"instanceType": "",
"dbType": "",
"region": "",
"dbUser": "",
"dbPass": "",
"dbServer": "",
"shardUrl": "",
"maxRetryTime": "",
"sqlType": "I,U,D"
},
"schemaMapping": [],
"accountMapping": [],
"granularity": "",
"dtsGroupName": ""
}
}
请求体参数
参数名称 |
参数类型 |
是否必须 |
描述 |
示例值 |
参数位置 |
version |
String |
是 |
API版本号 |
"1" |
URL参数 |
taskId |
String |
是 |
任务ID |
"dtsmxxxyyy" |
URL参数 |
taskName |
String |
是 |
任务名称 |
taskName |
Request Body 参数 |
openRollbackConfig |
String |
是 |
是否打开反向任务配置 |
true |
Request Body 参数 |
dtsTaskPos |
String |
是 |
正向数据流 |
dtsTaskPos |
Request Body 参数 |
dtsTaskNeg |
String |
是 |
反向数据流 |
dtsTaskNeg |
Request Body 参数 |
dtsTaskPos字段数据结构说明
参数名称 |
参数类型 |
是否必须 |
描述 |
示例值 |
参数位置 |
type |
String |
是 |
任务类型(数据传输任务:migration;),目前仅支持数据传输任务 |
migration |
Request Body 参数 |
dataType |
String[] |
是 |
传输数据类型数组(schema:结构迁移;base:全量迁移;increment:增量迁移) |
["base"] |
Request Body 参数 |
srcConnection |
Connection |
是 |
源端 |
srcConnection |
Request Body 参数 |
dstConnection |
Connection |
是 |
目标端 |
dstConnection |
Request Body 参数 |
granularity |
String |
是 |
传输任务的粒度(instance:实例级;dbtb:库表级) |
instance |
Request Body 参数 |
schemaMapping |
SchemaMapping |
是 |
schemaMapping |
schemaMapping |
Request Body 参数 |
accountMapping |
AccountMapping[] |
否 |
账号迁移 |
accountMapping |
Request Body 参数 |
incrIgnoreType |
String |
否 |
特殊DDL过滤 |
drop,truncate |
Request Body 参数 |
initPosition |
InitPosition |
否 |
自定义同步点 |
initPosition |
Request Body 参数 |
dtsGroupName |
String |
否 |
任务组名称 |
dtsGroupName |
Request Body 参数 |
dtsTaskNeg字段数据结构说明
反向数据流,结构同dtsTaskPos字段
Connection字段数据结构说明
参数名称 |
参数类型 |
是否必须 |
描述 |
示例值 |
instanceType |
String |
否 |
实例类型 |
bcerds |
region |
String |
否 |
地域 |
bj |
dbType |
String |
否 |
数据库类型 |
mysql |
dbUser |
String |
否 |
数据库访问账号 |
dts_trans |
dbPass |
String |
否 |
数据库访问密码 |
|
dbPort |
Integer |
否 |
数据库访问端口 |
3306 |
dbHost |
String |
否 |
数据库ip或主机名 |
192.168.1.1 |
dbServer |
String |
否 |
数据库ip或主机名.支持ip:端口,ip或域名与端口以英文冒号分隔,多个地址以英文逗号分隔 |
192.168.1.1:3306 |
shardUrl |
String |
否 |
分片ip或主机名。支持ip:端口,ip或域名与端口以英文冒号分隔,多个地址以英文逗号分隔 |
192.168.1.1:3306,192.168.1.1:3306 |
announceServer |
String |
否 |
redis cluster announce IP/Port。若redis cluster 低于4.0或未设置announce IP/Port该字段填空即可。长度限制10240 |
192.168.1.1:3306,192.168.1.1:3306(与dbServer一一对应) |
instanceId |
String |
否 |
实例ID |
rdsmfgdti3d53f5 |
field_whitelist |
String |
否 |
列过滤(白名单) |
field_whitelist |
field_blacklist |
String |
否 |
列过滤(黑名单) |
field_blacklist |
srcDstFlag |
String |
否 |
公有云上redis实例:必选。标识公有云上实例源端和目标端。源端取值"src",目标端取值"dst"。非公有云,非redis实例:可为空。) |
src |
supportOnlineDDL |
String |
否 |
同步Online DDL |
true,false |
maxRetryTime |
String |
否 |
重试时间 |
720 |
sqlType |
String |
否 |
同步语句选择 |
I,U,D,Q |
positionStrategy |
String |
否 |
可选值:1."fail"(如果给定offset不存在,这任务报错退出) 2."base"(如果给定offset不存在,则任务从全量开始重新同步) |
fail |
vpcId |
String |
否 |
接入类型为bcegateway时,需要指定VPC ID |
7175535d-6657-4fb2-aed0-942221111111 |
vpcShortId |
String |
否 |
接入类型为bcegateway时,需要指定VPC短ID |
vpc-46k27rb9wppz |
subnetShortId |
String |
否 |
接入类型为bcegateway时,需要指定子网短ID |
sbn-qtm3d4eituqc |
Schema字段数据结构说明
参数名称 |
参数类型 |
是否必须 |
描述 |
示例值 |
type |
String |
否 |
需要传输的对象类型, 取值有: db(库), table(表), view(视图), function(函数), procedure(存储过程) |
table |
src |
String |
否 |
源库的schema名称 |
test.table_src |
dst |
String |
否 |
目标库的schema名称 |
test.table_dst |
where |
String |
否 |
where过滤条件 |
where |
AccountMapping字段数据结构说明
参数名称 |
参数类型 |
是否必须 |
描述 |
示例值 |
user |
String |
否 |
用户 |
dts_user |
hosts |
String[] |
否 |
地址 |
["%", "1.2.3.4", "10.10.10.1"] |
InitPosition字段数据结构说明
参数名称 |
参数类型 |
是否必须 |
描述 |
示例值 |
type |
String |
否 |
默认值offset |
offset |
position |
String |
否 |
填写redis实例replication backlog中有效有效的offset值,格式为:"9654766427"。若不填写则标识做全量+增量迁移 |
9654766427 |
响应头参数
除公共头域,无其它特殊头域。
响应体参数
响应体字段数据结构说明
参数名称 |
参数类型 |
是否必须 |
描述 |
示例值 |
dtsId |
String |
是 |
任务ID |
dtsxxxyyyzzz |
请求示例
POST /v{version}/task/{taskId}/newRollback/config
Host: dts.baidubce.com
Content-Type: application/json
Authorization: authorization string
{
"taskName": "dtsTask1",
"openRollbackConfig": "true",
"dtsTaskPos": {
"type": "migration",
"dataType": [
"increment",
"schema",
"base"
],
"srcConnection": {
"instanceType": "public",
"dbType": "mongodbCluster",
"region": "bj",
"dbUser": "",
"dbPass": "",
"dbServer": "",
"shardUrl": "",
"field_whitelist": "",
"field_blacklist": "",
"maxRetryTime": "720"
},
"dstConnection": {
"instanceType": "public",
"dbType": "mongodbCluster",
"region": "bj",
"dbUser": "",
"dbPass": "",
"dbServer": ""
},
"schemaMapping": [],
"accountMapping": [],
"granularity": "instance",
"dtsGroupName": ""
},
"dtsTaskNeg": {
"type": "migration",
"dataType": [
"increment"
],
"srcConnection": {
"instanceType": "public",
"dbType": "mongodbCluster",
"region": "bj",
"dbUser": "",
"dbPass": "",
"dbServer": "",
"field_whitelist": "",
"field_blacklist": "",
"shardUrl": ""
},
"dstConnection": {
"instanceType": "public",
"dbType": "mongodbCluster",
"region": "bj",
"dbUser": "",
"dbPass": "",
"dbServer": "",
"shardUrl": "",
"maxRetryTime": "720",
"sqlType": "I,U,D"
},
"schemaMapping": [],
"accountMapping": [],
"granularity": "instance",
"dtsGroupName": ""
}
}
响应示例
HTTP/1.1 200 OK
{
"dtsId" : "dtsxxxyyyzzz"
}