跳到主要内容

创建复制任务

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

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

请求方法:POST

请求参数

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

replicationOption 字段说明

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

objectConfig 字段说明

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

库或 Schema 对象字段说明

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

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

一般对象字段说明

参数类型是否必选说明示例
databaseNameString源端库名。db1
targetDatabaseString目标端库名,默认与 databaseName 一致。db1_target
schemaNameString源端 Schema 名。源端为三层结构时可配置,默认值为 nullpublic
targetSchemaString目标端 Schema 名。目标端为三层结构时可配置,默认值为 nullpublic_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
},
"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为现有任务添加反向任务,形成双向复制任务。

规格枚举

microsmallmediumlargexlarge

冲突策略枚举

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