配置一键反向
更新时间:2023-12-06
接口说明
配置传输任务, 内容包括传输对象的映射关系, 数据库连接信息等;
注:任务配置完触发一键反向任务前置检查,接口同: 前置检查
请求结构
JSON
1POST /v{version}/task/{taskId}/newRollback/config
2Host: dts.baidubce.com
3Authorization: authorization string
4{
5 "taskName": "dtsTask1",
6 "openRollbackConfig": "true",
7 "dtsTaskPos": {
8 "type": "",
9 "dataType": [
10 "increment",
11 "schema",
12 "base"
13 ],
14 "srcConnection": {
15 "instanceType": "",
16 "dbType": "",
17 "region": "",
18 "dbUser": "",
19 "dbPass": "",
20 "dbServer": "",
21 "shardUrl": "",
22 "field_whitelist": "",
23 "field_blacklist": "",
24 "maxRetryTime": ""
25 },
26 "dstConnection": {
27 "instanceType": "",
28 "dbType": "",
29 "region": "",
30 "dbUser": "",
31 "dbPass": "",
32 "dbServer": ""
33 },
34 "schemaMapping": [],
35 "accountMapping": [],
36 "granularity": "",
37 "dtsGroupName": ""
38 },
39 "dtsTaskNeg": {
40 "type": "",
41 "dataType": [
42 "increment"
43 ],
44 "srcConnection": {
45 "instanceType": "",
46 "dbType": "",
47 "region": "",
48 "dbUser": "",
49 "dbPass": "",
50 "dbServer": "",
51 "field_whitelist": "",
52 "field_blacklist": "",
53 "shardUrl": ""
54 },
55 "dstConnection": {
56 "instanceType": "",
57 "dbType": "",
58 "region": "",
59 "dbUser": "",
60 "dbPass": "",
61 "dbServer": "",
62 "shardUrl": "",
63 "maxRetryTime": "",
64 "sqlType": "I,U,D"
65 },
66 "schemaMapping": [],
67 "accountMapping": [],
68 "granularity": "",
69 "dtsGroupName": ""
70 }
71}
请求体参数
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | 参数位置 |
---|---|---|---|---|---|
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 |
请求示例
JSON
1POST /v{version}/task/{taskId}/newRollback/config
2Host: dts.baidubce.com
3Content-Type: application/json
4Authorization: authorization string
5
6
7{
8 "taskName": "dtsTask1",
9 "openRollbackConfig": "true",
10 "dtsTaskPos": {
11 "type": "migration",
12 "dataType": [
13 "increment",
14 "schema",
15 "base"
16 ],
17 "srcConnection": {
18 "instanceType": "public",
19 "dbType": "mongodbCluster",
20 "region": "bj",
21 "dbUser": "",
22 "dbPass": "",
23 "dbServer": "",
24 "shardUrl": "",
25 "field_whitelist": "",
26 "field_blacklist": "",
27 "maxRetryTime": "720"
28 },
29 "dstConnection": {
30 "instanceType": "public",
31 "dbType": "mongodbCluster",
32 "region": "bj",
33 "dbUser": "",
34 "dbPass": "",
35 "dbServer": ""
36 },
37 "schemaMapping": [],
38 "accountMapping": [],
39 "granularity": "instance",
40 "dtsGroupName": ""
41 },
42 "dtsTaskNeg": {
43 "type": "migration",
44 "dataType": [
45 "increment"
46 ],
47 "srcConnection": {
48 "instanceType": "public",
49 "dbType": "mongodbCluster",
50 "region": "bj",
51 "dbUser": "",
52 "dbPass": "",
53 "dbServer": "",
54 "field_whitelist": "",
55 "field_blacklist": "",
56 "shardUrl": ""
57 },
58 "dstConnection": {
59 "instanceType": "public",
60 "dbType": "mongodbCluster",
61 "region": "bj",
62 "dbUser": "",
63 "dbPass": "",
64 "dbServer": "",
65 "shardUrl": "",
66 "maxRetryTime": "720",
67 "sqlType": "I,U,D"
68 },
69 "schemaMapping": [],
70 "accountMapping": [],
71 "granularity": "instance",
72 "dtsGroupName": ""
73 }
74}
响应示例
JSON
1HTTP/1.1 200 OK
2
3{
4 "dtsId" : "dtsxxxyyyzzz"
5}