跳到主要内容

创建数据对比任务

用于创建一个新的数据对比任务,并指定源端、目标端以及需要对比的库表范围。

请求地址:/openapi/v1/comparedata/create

请求方法:POST

调用前准备

  • sourceDsIdtargetDsId 可通过 获取数据源列表 返回结果中的 data[].datasourceId 获取。
  • 如果数据源还未创建,可先调用 创建数据源,再使用响应中的 data.datasourceId
  • databaseNametargetDatabasetableNametargetTable 需要使用源端和目标端实例中的真实库名、表名。

请求参数

参数类型是否必填说明示例
nameString任务名称。建议使用能体现业务和对比范围的名称,便于后续查询和区分。compare-docx-proof-20260508163538
sourceDsIdString源端数据源 ID,即被作为基准的一侧数据源。可从 获取数据源列表data[].datasourceId 获取。ds-ct192k3jlj4f
targetDsIdString目标端数据源 ID,即与源端进行对比的另一侧数据源。可从 获取数据源列表data[].datasourceId 获取。ds-d37s953l33d3
taskModeString对比类型。当前示例值为 FULL,表示全量对比。FULL
objectConfigJSON需要对比的对象范围配置。通过 alldatabaseListtableList 组合指定实例、库和表的对比范围。见下方示例

objectConfig 字段说明

参数类型说明示例
allBoolean是否直接选取整个实例下的全部对象。为 true 时,可不再逐个指定库表;为 false 时,需要通过 databaseList 指定要对比的库。false
databaseListArray需要对比的库列表。多个库时按 JSON 数组传入多个对象。[{...}]

databaseList 字段说明

参数类型说明示例
databaseNameString源端数据库名称。需与 sourceDsId 对应实例中的实际库名一致。9zdbtest2
targetDatabaseString目标端数据库名称。需与 targetDsId 对应实例中的实际库名一致。9zdbtest3
allBoolean是否对比该库下的全部表。为 true 时,表示整库下的表都参与对比;为 false 时,需要传入 tableListtrue
tableListArray需要对比的表列表。多个表时按 JSON 数组传入多个对象。[{...},{...}]

tableList 字段说明

参数类型说明示例
tableNameString源端表名称。需与源端库中的实际表名一致。sbtest1
targetTableString目标端表名称。需与目标端库中的实际表名一致。sbtest1

如何使用返回值

成功响应中的 data 为本次创建出的 taskId。后续调用 启动数据对比任务查询数据对比主任务详情停止数据对比任务删除数据对比任务 时,都需要传入该值。

请求示例

{
"name": "compare-docx-proof-20260508163538",
"objectConfig": {
"all": false,
"databaseList": [
{
"databaseName": "9zdbtest2",
"targetDatabase": "9zdbtest3",
"all": true,
"tableList": [
{
"tableName": "sbtest1",
"targetTable": "sbtest1"
},
{
"tableName": "sbtest2",
"targetTable": "sbtest2"
}
]
}
]
},
"sourceDsId": "ds-ct192k3jlj4f",
"targetDsId": "ds-d37s953l33d3",
"taskMode": "FULL"
}

返回参数

参数类型说明示例
successBoolean请求是否成功。true
requestIdString请求 ID,可用于问题排查和链路追踪。Em1u9SHH-kqqraVGnllse6BZdmnh5DQM
dataString数据对比任务 ID,即后续接口使用的 taskIdcd-tepmjmnj6o

调用成功示例

{
"success": true,
"requestId": "Em1u9SHH-kqqraVGnllse6BZdmnh5DQM",
"data": "cd-tepmjmnj6o"
}