跳到主要内容

创建复制任务

创建单向复制任务或双向复制任务,并配置结构复制、全量复制、增量复制、冲突策略、规格和复制对象范围。

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

请求方法:POST

请求参数​

参数类型是否必选说明示例
nameString是复制任务名称。replication_demo
sourceDatasourceTypeString是源数据源类型。mongodb
sourceDatasourceIdString是源数据源 ID,可调用获取数据源列表查询。ds-source001
targetDatasourceTypeString是目标数据源类型。mongodb
targetDatasourceIdString是目标数据源 ID,可调用获取数据源列表查询。ds-target001
createTypeString否创建方式,取值见创建方式枚举,默认值为 one_way。one_way
existingReplicationIdString否已有复制任务 ID。createType 为 bidirectional_from_existing 时必填。rp-deddhxp65zbp
replicationOptionObject是复制任务配置参数,字段见replicationOption 字段说明。见下方示例
objectConfigObject是复制对象范围配置,字段见objectConfig 字段说明。见下方示例

replicationOption 字段说明​

参数类型是否必选说明示例
migrateSchemaBoolean否是否复制对象结构,默认值为 true。true
migrateDataBoolean否是否复制存量数据,默认值为 true。true
incrementalReplicationBoolean否是否复制增量数据,默认值为 false。false
specTypeString否复制实例规格,取值见规格枚举,默认值为 micro。micro
conflictStrategyString是数据或结构冲突处理策略,取值见冲突策略枚举。ignore
supportDDLBoolean否是否支持 DDL 复制,默认值为 true。双向复制的反向任务固定为 false。true
enableCompareBoolean否是否开启全量对比,默认值为 false。false
enableIncCompareBoolean否是否开启增量对比,默认值为 false。false

objectConfig 字段说明​

参数类型是否必选说明示例
allBoolean否是否包含实例下的全部对象,默认值为 false。设置为 true 时无需传入 databaseList。true
databaseListArray否数据库对象列表。all=false 时必填,元素字段见库或 Schema 对象字段说明。见下方示例

库或 Schema 对象字段说明​

databaseList 和 schemaList 使用相同的对象结构。源端为“库 > 表”两层结构时,databaseList 元素表示库;源端为“库 > Schema > 表”三层结构时,schemaList 元素表示 Schema。

参数类型是否必选说明示例
allBoolean否是否包含当前库或 Schema 下的全部对象,默认值为 false。false
allTableBoolean否是否包含全部表,默认值为 false。true
allViewBoolean否是否包含全部视图,默认值为 false。false
allTriggerBoolean否是否包含全部触发器,默认值为 false。false
allEventBoolean否是否包含全部事件,默认值为 false。false
allFunctionBoolean否是否包含全部函数,默认值为 false。false
allProcedureBoolean否是否包含全部存储过程,默认值为 false。false
schemaListArray否Schema 对象列表。源端为三层结构时使用,元素字段同本表。见下方示例
tableListArray否指定表对象列表,元素字段见一般对象字段说明。见下方示例
viewListArray否指定视图对象列表,元素字段见一般对象字段说明。见下方示例
functionListArray否指定函数对象列表,元素字段见一般对象字段说明。见下方示例
procedureListArray否指定存储过程对象列表,元素字段见一般对象字段说明。见下方示例
eventListArray否指定事件对象列表,元素字段见一般对象字段说明。见下方示例
triggerListArray否指定触发器对象列表,元素字段见一般对象字段说明。见下方示例
ddlTriggerListArray否指定 DDL 触发器对象列表,元素字段见一般对象字段说明。见下方示例
otherStoredObjectListArray否指定其他存储对象列表,元素字段见一般对象字段说明。见下方示例

一般对象字段说明​

参数类型是否必选说明示例
databaseNameString是源端库名。db1
targetDatabaseString否目标端库名,默认与 databaseName 一致。db1_target
schemaNameString否源端 Schema 名。源端为三层结构时可配置,默认值为 null。public
targetSchemaString否目标端 Schema 名。目标端为三层结构时可配置,默认值为 null。public_target
objectNameString是源端对象名。table_a
targetNameString否目标端对象名,默认与 objectName 一致。table_a_target

请求示例​

{
"name": "replication_demo",
"sourceDatasourceType": "mongodb",
"sourceDatasourceId": "ds-source001",
"targetDatasourceType": "mongodb",
"targetDatasourceId": "ds-target001",
"createType": "one_way",
"replicationOption": {
"migrateSchema": true,
"migrateData": true,
"incrementalReplication": false,
"specType": "micro",
"conflictStrategy": "ignore",
"supportDDL": true,
"enableCompare": false,
"enableIncCompare": false
},
"objectConfig": {
"all": true
}
}

返回参数​

参数类型说明示例
successBoolean请求是否成功。true
requestIdString请求 ID。Oc0a0NWF-BHIAdUBnAEFz4OOdCIt7ANB
dataObject创建结果,字段见下方说明。见下方示例
data.replicationIdString新创建的复制任务 ID。rp-div1e4z3z3g3

调用成功示例​

{
"success": true,
"requestId": "Oc0a0NWF-BHIAdUBnAEFz4OOdCIt7ANB",
"data": {
"replicationId": "rp-div1e4z3z3g3"
}
}

创建方式枚举​

取值说明
one_way创建单向复制任务。
bidirectional同时创建正向和反向任务,形成双向复制任务。
bidirectional_from_existing为现有任务添加反向任务,形成双向复制任务。

规格枚举​

micro、small、medium、large、xlarge。

冲突策略枚举​

取值说明
ignore忽略冲突。
abort遇到冲突时阻断任务执行。
replace删除冲突数据并重写,仅对全量复制生效。
drop_create删除冲突的库表结构并重建,仅对结构复制生效。