专线迁移Redis Cluster迁移到云数据库Redis标准版-数据校验
更新时间:2023-10-16
创建数据校验任务
接口说明
创建数据校验任务。
请求结构
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{
7 "type" : "checksum",
8 "region" : "bd->bd",
9 "assocDtsId" : "dtsmxxxxx",//关联迁移任务dtsgemk5wlk5sbh0lffh下的子任务,例如:assocDtsId:dtsmxxxxx
10 "amount" : 1,
11 "version" : "new"
12}
响应示例
JSON
1HTTP/1.1 200 OK
2
3{
4 "result": {
5 "dtsCheckTasks": [{
6 "dtsCheckId": "dtscmawbkgu7f250be1r"
7 }]
8 }
9}
配置数据校验任务
接口说明
配置数据校验任务。
请求结构
JSON
1POST /v1/task/checksum/{dtsCheckId}/config
2Host: dts.baidubce.com
3Authorization: authorization string
4{
5 "srcConnection": {
6 "instanceType": "bcegateway",
7 "dbType": "redis",
8 "region": "bd"
9 },
10 "dstConnection": {
11 "instanceType": "bcescs",
12 "dbType": "redis",
13 "region": "bd"
14 },
15 "granularity": "instance",
16 "detailConfig": {
17 "useAssocDtsTaskConn": "true"
18 },
19 "schemaMapping": []
20}
请求体参数
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | 参数位置 |
---|---|---|---|---|---|
dtsCheckId | String | 是 | 数据校验任务ID | dtscxxxyyy | URL参数 |
srcConnection | Connection | 是 | 源端 | srcConnection | Request Body 参数 |
dstConnection | Connection | 是 | 目标端 | dstConnection | Request Body 参数 |
granularity | String | 是 | 传输任务的粒度(instance:实例级;dbtb:库表级) | instance | |
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
3Authorization: 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: authorization 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
3Authorization: authorization 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
7 "status" : "finished",//unconfig(未配置);ready(未启动);checking(前置检查中);checkPass(前置检查通过);checkFailed(前置检查失败);running(校验中);finished(校验成功);runFailed(运行异常);stopping(暂停中);stopped(已暂停)
8 "checksumResult" : "INCONSISTENT", // INCONSISTENT(不一致);CONSISTENT(一致)
9 "totalKeyCount" : "100", // 源端的key总数
10 "checkedKeyCount" : "99", // 已校验的key总数
11 "uncheckedKeyCount" : "1", // 不支持校验的key总数
12 "uncheckedKeyList" : [ // 不支持校验的key列表
13 {
14 "dbName" : "0",
15 "keyName" : "stream1",
16 "message" : "do not support checking stream"
17 },
18 {
19 "dbName" : "1",
20 "keyName" : "stream2",
21 "message" : "do not support checking stream"
22 }
23 ],
24 "inconsistentCount" : "2", //不一致的数据行数
25 "inconsistentList" : [
26 {
27 "dbName" : "0", // key所在DB名
28 "inconsistentType" : "INCONSISTENT", // 不一致类型
29 "srcData" : "key_string1", // 源端key名
30 "dstData" : "key_string1" // 目标端key名
31 },
32 {
33 "dbName" : "1",
34 "inconsistentType" : "MISSING",
35 "srcData" : "key_hash2",
36 "dstData" : ""
37 },
38 {
39 "dbName" : "2",
40 "inconsistentType" : "REDUNDANCY",
41 "srcData" : "",
42 "dstData" : "key_list3"
43 }
44 ]
45 }
46 }
47}
查看数据校验任务详情
接口说明
查看数据校验任务详情。
请求结构
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{
6 "maxKeys" : 15,
7 "marker" : "dtsmxxxyyyzzz",
8}
请求参数
参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | 参数位置 |
---|---|---|---|---|---|
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 "maxKeys" : 15,
7 "marker" : "dtsmxxxyyyzzz"
8}
响应示例
JSON
1HTTP/1.1 200 OK
2{
3 "nextMarker": null,
4 "marker": null,
5 "maxKeys": 10,
6 "isTruncated": false,
7 "task": [
8 {
9 "dtsCheckId": "dtsch51dbxyio8rnf86c",
10 "status": "finished",
11 "region": "bd->bd",
12 "checksumResult": "CONSISTENT",//校验结果,可能值:CONSISTENT(一致),INCONSISTENT(不一致),NONE(未知,校验任务运行未结束)
13 "assocDtsId": "dtsmky23r0buci12l4zh",
14 "createTime": "2022-11-25T05:41:04Z",
15 "finishTime": "2022-11-25T05:41:31Z"
16 }
17 ]
18}