创建复制任务
创建单向复制任务或双向复制任务,并配置结构复制、全量复制、增量复制、冲突策略、规格和复制对象范围。
请求地址:/openapi/v1/replication/create
请求方法:POST
请求参数
| 参数 | 类型 | 是否必选 | 说明 | 示例 |
|---|---|---|---|---|
| name | String | 是 | 复制任务名称。 | replication_demo |
| sourceDatasourceType | String | 是 | 源数据源类型。 | mongodb |
| sourceDatasourceId | String | 是 | 源数据源 ID,可调用获取数据源列表查询。 | ds-source001 |
| targetDatasourceType | String | 是 | 目标数据源类型。 | mongodb |
| targetDatasourceId | String | 是 | 目标数据源 ID,可调用获取数据源列表查询。 | ds-target001 |
| createType | String | 否 | 创建方式,取值见创建方式枚举,默认值为 one_way。 | one_way |
| existingReplicationId | String | 否 | 已有复制任务 ID。createType 为 bidirectional_from_existing 时必填。 | rp-deddhxp65zbp |
| replicationOption | Object | 是 | 复制任务配置参数,字段见replicationOption 字段说明。 | 见下方示例 |
| objectConfig | Object | 是 | 复制对象范围配置,字段见objectConfig 字段说明。 | 见下方示例 |
replicationOption 字段说明
| 参数 | 类型 | 是否必选 | 说明 | 示例 |
|---|---|---|---|---|
| migrateSchema | Boolean | 否 | 是否复制对象结构,默认值为 true。 | true |
| migrateData | Boolean | 否 | 是否复制存量数据,默认值为 true。 | true |
| incrementalReplication | Boolean | 否 | 是否复制增量数据,默认值为 false。 | false |
| specType | String | 否 | 复制实例规格,取值见规格枚举,默认值为 micro。 | micro |
| conflictStrategy | String | 是 | 数据或结构冲突处理策略,取值见冲突策略枚举。 | ignore |
| supportDDL | Boolean | 否 | 是否支持 DDL 复制,默认值为 true。双向复制的反向任务固定为 false。 | true |
objectConfig 字段说明
| 参数 | 类型 | 是否必选 | 说明 | 示例 |
|---|---|---|---|---|
| all | Boolean | 否 | 是否包含实例下的全部对象,默认值为 false。设置为 true 时无需传入 databaseList。 | true |
| databaseList | Array | 否 | 数据库对象列表。all=false 时必填,元素字段见库或 Schema 对象字段说明。 | 见下方示例 |
库或 Schema 对象字段说明
databaseList 和 schemaList 使用相同的对象结构。源端为“库 > 表”两层结构时,databaseList 元素表示库;源端为“库 > Schema > 表”三层结构时,schemaList 元素表示 Schema。
| 参数 | 类型 | 是否必选 | 说明 | 示例 |
|---|---|---|---|---|
| all | Boolean | 否 | 是否包含当前库或 Schema 下的全部对象,默认值为 false。 | false |
| allTable | Boolean | 否 | 是否包含全部表,默认值为 false。 | true |
| allView | Boolean | 否 | 是否包含全部视图,默认值为 false。 | false |
| allTrigger | Boolean | 否 | 是否包含全部触发器,默认值为 false。 | false |
| allEvent | Boolean | 否 | 是否包含全部事件,默认值为 false。 | false |
| allFunction | Boolean | 否 | 是否包含全部函数,默认值为 false。 | false |
| allProcedure | Boolean | 否 | 是否包含全部存储过程,默认值为 false。 | false |
| schemaList | Array | 否 | Schema 对象列表。源端为三层结构时使用,元素字段同本表。 | 见下方示例 |
| tableList | Array | 否 | 指定表对象列表,元素字段见一般对象字段说明。 | 见下方示例 |
| viewList | Array | 否 | 指定视图对象列表,元素字段见一般对象字段说明。 | 见下方示例 |
| functionList | Array | 否 | 指定函数对象列表,元素字段见一般对象字段说明。 | 见下方示例 |
| procedureList | Array | 否 | 指定存储过程对象列表,元素字段见一般对象字段说明。 | 见下方示例 |
| eventList | Array | 否 | 指定事件对象列表,元素字段见一般对象字段说明。 | 见下方示例 |
| triggerList | Array | 否 | 指定触发器对象列表,元素字段见一般对象字段说明。 | 见下方示例 |
| ddlTriggerList | Array | 否 | 指定 DDL 触发器对象列表,元素字段见一般对象字段说明。 | 见下方示例 |
| otherStoredObjectList | Array | 否 | 指定其他存储对象列表,元素字段见一般对象字段说明。 | 见下方示例 |
一般对象字段说明
| 参数 | 类型 | 是否必选 | 说明 | 示例 |
|---|---|---|---|---|
| databaseName | String | 是 | 源端库名。 | db1 |
| targetDatabase | String | 否 | 目标端库名,默认与 databaseName 一致。 | db1_target |
| schemaName | String | 否 | 源端 Schema 名。源端为三层结构时可配置,默认值为 null。 | public |
| targetSchema | String | 否 | 目标端 Schema 名。目标端为三层结构时可配置,默认值为 null。 | public_target |
| objectName | String | 是 | 源端对象名。 | table_a |
| targetName | String | 否 | 目标端对象名,默认与 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
}
}
返回参数
| 参数 | 类型 | 说明 | 示例 |
|---|---|---|---|
| success | Boolean | 请求是否成功。 | true |
| requestId | String | 请求 ID。 | Oc0a0NWF-BHIAdUBnAEFz4OOdCIt7ANB |
| data | Object | 创建结果,字段见下方说明。 | 见下方示例 |
| data.replicationId | String | 新创建的复制任务 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 | 删除冲突的库表结构并重建,仅对结构复制生效。 |