跳到主要内容

创建结构对比任务

用于创建结构对比任务,并指定源端、目标端以及需要对比的对象范围。

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

请求方法:POST

调用前准备

  • sourceDsIdtargetDsId 可通过 获取数据源列表 返回结果中的 data[].datasourceId 获取。
  • objectConfig 的对象范围结构与 创建数据对比任务 中的 objectConfig 保持一致,可通过 databaseListschemaListtableList 等字段指定库、Schema、表和对象映射关系。
  • 如果需要创建周期性结构对比任务,请将 taskType 设置为 PERIODIC,并传入 scheduleConfig

请求参数

参数类型是否必填说明示例
taskNameString结构对比任务名称。schema_compare_demo
sourceDsIdString源端数据源 ID。ds-ct192k3jlj4f
targetDsIdString目标端数据源 ID。ds-d37s953l33d3
objectConfigJSON需要对比的对象范围配置。字段结构与 创建数据对比任务objectConfig 一致。见下方示例
taskTypeString调度类型。ONETIME 表示一次性对比,PERIODIC 表示周期性对比。默认值为 ONETIMEONETIME
scheduleConfigObject周期性对比配置。仅 taskType=PERIODIC 时传入,字段见下方说明。见下方示例

scheduleConfig 字段说明

参数类型是否必填说明示例
scheduleTypeString周期性对比时固定传入 periodicperiodic
daysString[]调度运行的星期。可选值包括 MONDAYTUESDAYWEDNESDAYTHURSDAYFRIDAYSATURDAYSUNDAY["MONDAY","TUESDAY"]
startTimeOfDayString每个调度日的启动时间,格式为 HH:mm。默认值为 01:0011:31
timezoneString启动时间对应的时区。默认值为 +08:00_CST+08:00_CST

请求示例

{
"taskName": "schema_compare_demo",
"sourceDsId": "ds-ct192k3jlj4f",
"targetDsId": "ds-d37s953l33d3",
"taskType": "ONETIME",
"objectConfig": {
"all": false,
"allDatabase": false,
"databaseList": [
{
"objectType": "database",
"databaseName": "9zdbtest2",
"targetDatabase": "9zdbtest3",
"all": false,
"tableList": [
{
"databaseName": "9zdbtest2",
"targetDatabase": "9zdbtest3",
"tableName": "sbtest1",
"targetTable": "sbtest1"
}
]
}
],
"migrateTrigger": false,
"migrateEvent": false
}
}

周期性任务 scheduleConfig 示例

{
"scheduleType": "periodic",
"days": [
"MONDAY",
"TUESDAY",
"WEDNESDAY",
"THURSDAY",
"FRIDAY",
"SATURDAY",
"SUNDAY"
],
"startTimeOfDay": "11:31",
"timezone": "+08:00_CST"
}

返回参数

参数类型说明示例
successBoolean请求是否成功。true
requestIdString请求 ID,可用于问题排查和链路追踪。Fw5n8KVE-jpqkrAKnlppo9DXdknc3IUH
dataObject创建结果,字段见下方说明。见下方示例
messageString错误信息。请求失败时返回。taskName is required

data 字段说明

参数类型说明示例
taskIdString新创建的结构对比任务 ID。cc-th6j3fs58y

调用成功示例

{
"success": true,
"requestId": "Fw5n8KVE-jpqkrAKnlppo9DXdknc3IUH",
"data": {
"taskId": "cc-th6j3fs58y"
}
}