专线迁移MySQL迁移到云数据库RDS-数据校验
更新时间:2023-10-20
创建数据校验任务
接口说明
创建数据校验任务。
请求结构
JSON
1POST /v1/task/checksum
2Host: dts.baidubce.com
3Authorization: authorization string
4{
5 "type" : "checksum",
6 "region" : "bd->bd",
7 "assocDtsId" : "dtsmxxxxx",
8 "amount" : 1,
9 "version" : "new"
10}
请求体参数
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | 参数位置 |
---|---|---|---|---|---|
type | String | 是 | 任务类型,这里固定取值为:checksum | checksum | Request Body 参数 |
region | String | 是 | 任务所在的地域,字段格式为:源端地域->目标端地域,取值示例:bj->bj,su->gz | bj->bj | Request Body 参数 |
assocDtsId | String | 是 | 关联迁移任务dtsId | dtsmxxxxx | Request Body 参数 |
amount | String | 是 | 数据校验任务个数 | 1 | Request Body 参数 |
version | String | 否 | 数据校验版本,可选值:new、old;非必须,默认值为new | new | Request Body 参数 |
响应头参数
除公共头域,无其它特殊头域。
响应体参数
响应体字段数据结构说明
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 |
---|---|---|---|---|
result | Result | 是 | 返回结果 | result |
Result字段数据结构说明
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 |
---|---|---|---|---|
dtsCheckTasks | DtsCheckTasks[] | 是 | 数据校验任务ID数组 | dtsCheckTasks |
DtsCheckTasks字段数据结构说明
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 |
---|---|---|---|---|
dtsCheckId | String | 是 | 数据校验任务dtsCheckId,格式为:(1)dtsc[a-z0-9]{16},共20位(2)第4位c表示数据校验checksum(3)例如:dtscabcdefg01234sdns | dtscabcdefg01234sdns |
请求示例
JSON
1POST /v1/task/checksum
2Host: dts.baidubce.com
3Content-Type: application/json
4Authorization: bce-auth-v1/5a6f0606bf5e48f29dd132aa76aa5182/2017-06-12T13:13:05Z/1800/content-type;host;x-bce-date/8baeafe6bfc35b0cf6205e87e4ce6c0dbb442375951ace4d16e6c7a4dab95943
5{
6 "type" : "checksum",
7 "region" : "bd->bd",
8 "assocDtsId" : "dtsmxxxxx",
9 "amount" : 1,
10 "version" : "new"
11}
响应示例
JSON
1HTTP/1.1 200 OK
2
3{
4 "result": {
5 "dtsCheckTasks": [
6 {
7 "dtsCheckId": "dtscmawbkgu7f250be1r"
8 }
9 ]
10 }
11}
配置数据校验任务
接口说明
配置数据校验任务。
请求结构
JSON
1POST /v1/task/checksum/{dtsCheckId}/config
2Host: dts.baidubce.com
3Authorization: authorization string
4{
5 "srcConnection": {
6 "instanceType": "bcegateway",
7 "dbType": "mysql,
8 "region": "bd"
9 },
10 "dstConnection": {
11 "instanceType": "bcerds",
12 "dbType": "mysql",
13 "region": "bd"
14 },
15 "schemaMapping": [],
16 "granularity": "dbtb",//传输任务的粒度(instance:实例级;dbtb:库表级)
17 "detailConfig": {
18 "useAssocDtsTaskConn": "true"
19 }
20}
请求体参数
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | 参数位置 |
---|---|---|---|---|---|
dtsCheckId | String | 是 | 数据校验任务ID | dtscxxxyyy | URL参数 |
srcConnection | Connection | 是 | 源端 | srcConnection | Request Body 参数 |
dstConnection | Connection | 是 | 目标端 | dstConnection | Request Body 参数 |
granularity | String | 是 | 传输任务的粒度(instance:实例级;dbtb:库表级) | instance | Request Body 参数 |
schemaMapping | Schema[] | 是 | schemaMapping | schemaMapping | Request Body 参数 |
detailConfig | DetailConfig | 是 | detailConfig | detailConfig | Request Body 参数 |
响应头参数
除公共头域,无其它特殊头域。
响应体参数
响应体字段数据结构说明
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 |
---|---|---|---|---|
success | Boolean | 是 | 是否成功 | true |
result | Object | 否 | 暂未使用 | null |
请求示例
JSON
1POST /v1/task/checksum/{dtsCheckId}/config
2Host: dts.baidubce.com
3Content-Type: application/json
4Authorization: bce-auth-v1/5a6f0606bf5e48f29dd132aa76aa5182/2017-06-12T13:13:05Z/1800/content-type;host;x-bce-date/8baeafe6bfc35b0cf6205e87e4ce6c0dbb442375951ace4d16e6c7a4dab95943
5
6
7{
8 "srcConnection": {
9 "instanceType": "bcegateway",
10 "dbType": "redis",
11 "region": "bd"
12 },
13 "dstConnection": {
14 "instanceType": "bcescs",
15 "dbType": "redis",
16 "region": "bd"
17 },
18 "granularity": "instance",
19 "detailConfig": {
20 "useAssocDtsTaskConn": "true"
21 },
22 "schemaMapping": []
23}
响应示例
JSON
1HTTP/1.1 200 OK
2
3{
4 "success": true,
5 "result": null
6}
数据校验前置检查
接口说明
当数据校验任务配置完任务,开始前置检查。
请求结构
JSON
1POST /v1/task/checksum/{dtsCheckId}/precheck
2Host: dts.baidubce.com
3Authorization: authorization string
请求体参数
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | 参数位置 |
---|---|---|---|---|---|
dtsCheckId | String | 是 | 数据校验任务ID | dtscxxxyyy | URL参数 |
响应头参数
除公共头域,无其它特殊头域。
响应体参数
响应体字段数据结构说明
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 |
---|---|---|---|---|
success | Boolean | 是 | 是否成功 | true |
result | Object | 否 | 暂未使用 | null |
请求示例
JSON
1POST /v1/task/checksum/{dtsCheckId}/precheck
2Host: dts.baidubce.com
3Content-Type: application/json
4Authorization: bce-auth-v1/5a6f0606bf5e48f29dd132aa76aa5182/2017-06-12T13:13:05Z/1800/content-type;host;x-bce-date/8baeafe6bfc35b0cf6205e87e4ce6c0dbb442375951ace4d16e6c7a4dab95943
响应示例
JSON
1HTTP/1.1 200 OK
2
3{
4 "result" : { },
5 "success" : true
6}
启动数据校验任务
接口说明
当配置完任务,前置检查通过后,可以启动任务。
请求结构
JSON
1POST /v1/task/checksum/{dtsCheckId}/start
2Host: dts.baidubce.com
3Content-Type: application/json
4Authorization: authorization string
请求体参数
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | 参数位置 |
---|---|---|---|---|---|
dtsCheckId | String | 是 | 数据校验任务ID | dtscxxxyyy | URL参数 |
响应头参数
除公共头域,无其它特殊头域。
响应体参数
响应体字段数据结构说明
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 |
---|---|---|---|---|
success | Boolean | 是 | 是否成功 | true |
result | Object | 否 | 暂未使用 | null |
请求示例
JSON
1POST /v1/task/checksum/{dtsCheckId}/start
2Host: dts.baidubce.com
3Content-Type: application/json
4Authorization: bce-auth-v1/5a6f0606bf5e48f29dd132aa76aa5182/2017-06-12T13:13:05Z/1800/content-type;host;x-bce-date/8baeafe6bfc35b0cf6205e87e4ce6c0dbb442375951ace4d16e6c7a4dab95943
响应示例
JSON
1HTTP/1.1 200 OK
2
3{
4 "result" : { },
5 "success" : true
6}
停止数据校验
接口说明
停止数据校验。
请求结构
JSON
1POST /v1/checksum/task/{dtsCheckId}/shutdown
2Host: dts.baidubce.com
3Authorization: string
请求体参数
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | 参数位置 |
---|---|---|---|---|---|
dtsCheckId | String | 是 | 数据校验任务ID | dtsmxxxyyy | URL参数 |
响应头参数
除公共头域,无其它特殊头域。
响应体参数
响应体字段数据结构说明
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 |
---|---|---|---|---|
success | boolean | 是 | 是否成功 | true |
result | Object | 否 | 暂未使用 | null |
请求示例
JSON
1POST /v1/checksum/task/{dtsCheckId}/shutdown
2Host: dts.baidubce.com
3Content-Type: application/json
4Authorization: bce-auth-v1/5a6f0606bf5e48f29dd132aa76aa5182/2017-06-12T13:13:05Z/1800/content-type;host;x-bce-date/8baeafe6bfc35b0cf6205e87e4ce6c0dbb442375951ace4d16e6c7a4dab95943
响应示例
JSON
1HTTP/1.1 200 OK
2
3{
4 "result" : { },
5 "success" : true
6}
查看数据校验比对结果
接口说明
查看数据校验比对结果。
请求结构
JSON
1POST /v1/task/checksum/{dtsCheckId}/result
2Host: dts.baidubce.com
3Content-Type: application/json
4Authorization: string
请求体参数
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | 参数位置 |
---|---|---|---|---|---|
dtsCheckId | String | 是 | 数据校验任务ID | dtscxxxyyy | URL参数 |
响应头参数
除公共头域,无其它特殊头域。
响应体参数
响应体字段数据结构说明
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 |
---|---|---|---|---|
success | Boolean | 是 | 是否成功 | true |
result | Object | 是 | null |
请求示例
JSON
1POST /v1/task/checksum/{dtsCheckId}/result
2Host: dts.baidubce.com
3Content-Type: application/json
4Authorization: bce-auth-v1/5a6f0606bf5e48f29dd132aa76aa5182/2017-06-12T13:13:05Z/1800/content-type;host;x-bce-date/8baeafe6bfc35b0cf6205e87e4ce6c0dbb442375951ace4d16e6c7a4dab95943
响应示例
JSON
1HTTP/1.1 200 OK
2{
3 "success": true,
4 "result": {
5 "checksumResult" : {
6 "status" : "finished",
7 "checksumResult" : "INCONSISTENT",//校验结果,可能值:CONSISTENT(一致),INCONSISTENT(不一致),NONE(未知,校验任务运行未结束)
8 "totalTableCount" : "100",//总表数
9 "checkedTableCount" : "99",//已校验总表数
10 "uncheckedTableCount" : "1",//无法校验总表数
11 "uncheckedTableList" : [//无法校验表列表
12 {
13 "dbName" : "db1",//源库库名
14 "tableName" : "table1",//源库表名
15 "message" : "no primary keys for table"//无法校验原因
16 }
17 ],
18 "inconsistentTableCount" : "2",//不一致表总数
19 "inconsistentCount" : "3",//不一致数据总数
20 "inconsistentList" : [//不一致数据列表
21 {
22 "dbName" : "db2",//源库库名
23 "tableName" : "table2",//源库表名
24 "inconsistentType" : "INCONSISTENT",//不一致数据类型,可选值:INCONSISTENT:源库与目标库数据不一致;MISSING:源库存在, 目标库不存在;REDUNDANCY:源库不存在, 目标库存在
25 "srcData" : "",//定位源表数据
26 "dstData" : ""//定位目标表数据
27 }
28 ]
29 }
30 }
31}
查看数据校验任务详情
接口说明
查看数据校验任务详情。
请求结构
JSON
1GET /v1/task/checksum/{dtsCheckId}/detail
2Host: dts.baidubce.com
3Authorization: authorization string
请求体参数
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | 参数位置 |
---|---|---|---|---|---|
dtsCheckId | String | 是 | 数据校验任务ID | dtscxxxyyy | URL参数 |
响应头参数
除公共头域,无其它特殊头域。
响应体参数
响应体字段数据结构说明
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 |
---|---|---|---|---|
success | Boolean | 是 | 是否成功 | true |
result | Object | 是 | null |
请求示例
JSON
1GET /v{version}/task/checksum/{dtsCheckId}/detail
2Host: dts.baidubce.com
3Content-Type: application/json
4Authorization: bce-auth-v1/5a6f0606bf5e48f29dd132aa76aa5182/2017-06-12T13:13:05Z/1800/content-type;host;x-bce-date/8baeafe6bfc35b0cf6205e87e4ce6c0dbb442375951ace4d16e6c7a4dab95943
响应示例
JSON
1HTTP/1.1 200 OK
2{
3 "success": true,
4 "result": {
5 "dtsCheckTask": {
6 "status": "finished",
7 "createTime": "2022-11-24T08:59:10Z",
8 "srcConnection": {
9 "instanceType": "bcegateway",
10 "dbType": "redis",
11 "region": "bd",
12 "dbHost": "100.80.143.80",
13 "dbPort": 28,
14 "dbUser": "",
15 "dbPass": "",
16 "instanceId": "",
17 "subnetShortId": "sbn-ka9xp8yuj81n",
18 "vpcId": "1cd2dd00-b2c8-4053-9550-594a2991cc6e",
19 "vpcShortId": "vpc-2a0giawvdben",
20 "zone": "cn-bd-c"
21 },
22 "dstConnection": {
23 "instanceType": "public",
24 "region": "bj",
25 "dbType": "redis",
26 "dbPort": 7020,
27 "dbHost": "10.156.64.44",
28 "dbUser": "",
29 "dbPass": "",
30 "instanceId": ""
31 },
32 "schemaMapping": [],
33 "granularity": "instance",
34 "detailConfig": {
35 "useAssocDtsTaskConn": "true"
36 },
37 "assocDtsId": "dtsmmcgm8tfn91kjdx6l"
38 }
39 }
40}
查看数据校验任务列表
接口说明
查看数据校验任务列表。
请求结构
JSON
1POST /v1/task/checksum/{dtsId}/list
2Host: dts.baidubce.com
3Authorization: authorization string
4{
5 "maxKeys" : 15,
6 "marker" : "dtsmxxxyyyzzz",
7}
请求体参数
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | 参数位置 |
---|---|---|---|---|---|
dtsId | String | 是 | 关联迁移任务ID | dtsmxxxyyy | URL参数 |
marker | String | 否 | 分页参数,初次请求无需设置,后续请求使用上次响应中的nextMarker | dtsmxxxyyyzzz | Request Body 参数 |
maxKeys | Integer | 否 | 分页参数,每页数据条数,默认为 10 | 15 | Request Body 参数 |
响应头参数
除公共头域,无其它特殊头域。
响应体参数
响应体字段数据结构说明
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 |
---|---|---|---|---|
task | List<Object> | 是 | 任务数组 | task |
nextMarker | String | 是 | 分页参数,下一页标记 | dtsmxxxyyy |
maxKeys | Integer | 是 | 分页参数,数据条数最大值 | 10 |
truncated | Boolean | 是 | 是否截断 | false |
请求示例
JSON
1POST /v1/task/list
2Host: dts.baidubce.com
3Content-Type: application/json
4Authorization: bce-auth-v1/5a6f0606bf5e48f29dd132aa76aa5182/2017-06-12T13:13:05Z/1800/content-type;host;x-bce-date/8baeafe6bfc35b0cf6205e87e4ce6c0dbb442375951ace4d16e6c7a4dab95943
5
6{
7 "maxKeys" : 15,
8 "marker" : "dtsmxxxyyyzzz"
9}
响应示例
JSON
1HTTP/1.1 200 OK
2
3{
4 "nextMarker": null,
5 "marker": null,
6 "maxKeys": 10,
7 "isTruncated": false,
8 "task": [
9 {
10 "dtsCheckId": "dtsch51dbxyio8rnf86c",
11 "status": "finished",
12 "region": "bd->bd",
13 "checksumResult": "CONSISTENT",//校验结果,可能值:CONSISTENT(一致),INCONSISTENT(不一致),NONE(未知,校验任务运行未结束)
14 "assocDtsId": "dtsmky23r0buci12l4zh",
15 "createTime": "2022-11-25T05:41:04Z",
16 "finishTime": "2022-11-25T05:41:31Z"
17 }
18 ]
19}