批量设置同步策略 - BatchSetPolicy
功能介绍
- 批量设置同步策略,包括冲突策略、过滤DROP Database、对象同步范围。
- 设置kafka同步策略
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
接口约束
- 任务创建成功之后,任务状态为CONFIGURATION,并且与源库和目标库测试连接通过、修改任务接口调用成功后才能调用。
- 支持设置Kafka同步策略的有:PostgreSQL-Kafka同步,Oracle-Kafka同步,GaussDB-Kafka同步,TaurusDB-Kafka,MySQL-Kafka。
- TaurusDB-Kafka,MySQL-Kafka支持任务状态为INCRE_TRANSFER_STARTED时修改Kafka策略配置,修改配置后需等任务状态为INCRE_TRANSFER_STARTED时再进行编辑同步对象操作。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项。
URI
POST /v3/{project_id}/jobs/batch-sync-policy
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
project_id | 是 | String | 租户在某一Region下的Project ID。 获取方法请参见获取项目ID。 |
请求参数
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
Content-Type | 是 | String | 指定类型为application/json。 缺省值:application/json |
X-Auth-Token | 是 | String | 从IAM服务获取的用户Token。 |
X-Language | 否 | String | 请求语言类型。 缺省值:en-us 取值:
|
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
jobs | 是 | Array of objects | 批量设置同步策略请求列表。 详情请参见表4。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
job_id | 是 | String | 任务ID。 |
conflict_policy | 否 | String | 冲突策略。 取值:
|
filter_ddl_policy | 否 | String | 过滤DDL策略。 取值:drop_database |
ddl_trans | 否 | Boolean | 同步增量是否同步DDL。 |
index_trans | 否 | Boolean | 同步增量是否同步索引。 |
topic_policy | 否 | String | 同步Topic策略,目标库为Kafka时必填。 GaussDB分布式版到Kafka同步取值:
GaussDB集中式版到Kafka同步、PostgreSQL到Kafka同步取值:
Oracle到Kafka同步取值:
MySQL到Kafka同步取值:
TaurusDB到Kafka同步取值:
|
topic | 否 | String | Topic名称,topic_policy为0时必填,确保topic已存在。 |
partition_policy | 否 | String | 同步到kafka partition策略。目标库为Kafka时必填。
当topic_policy取0时,可以取0、1、2、3、4、5;当topic_policy取1时,可以取1、2、5;当topic_policy取2时,可以取0、1、3、4;当topic_policy取3时,可以取0、1;当topic_policy取4时,可以取0、1、3。 |
kafka_data_format | 否 | String | 投送到kafka的数据格式,取值:
不填默认为json。 说明:
|
topic_name_format | 否 | String | Topic名字格式,topic_policy为1,2,3,时需要。 PostgreSQL到Kafka同步、GaussDB集中式版到Kafka同步取值:
Oracle到Kafka同步取值:
MySQL到Kafka、TaurusDB到Kafka同步取值:
|
partitions_num | 否 | String | Partition个数,取值1-2147483647之间,topic_policy为1,2,3,时需要,不填默认为1。 |
replication_factor | 否 | String | 副本个数,取值1-32767之间,topic_policy为1,2,3,时需要,不填默认为1。 |
is_fill_materialized_view | 否 | Boolean | PostgreSQL全量阶段是否填充物化视图,不填默认为false。 |
export_snapshot | 否 | Boolean | PostgreSQL全量阶段是否使用快照模式导出,不填默认为false。 |
slot_name | 否 | String | 复制槽名称,gaussdbv5ha-to-kafka主备任务必填。PostgreSQL为源的单增量同步任务选填。 |
file_and_position | 否 | String |
|
gtid_set | 否 | String |
|
ddl_topic | 否 | String | 存储DDL的topic,Kafka为目标且ddl_trans为true时必填。 取值:目标库已存在的topic名称,确保topic已存在。 |
请求示例
- 批量设置同步任务策略,其中增量冲突策略为忽略,同步增量DDL并过滤drop_database操作
https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-sync-policy { "jobs": [{ "conflict_policy": "ignore", "ddl_trans": true, "filter_ddl_policy": "drop_database", "index_trans": true, "job_id": "19557d51-1ee6-4507-97a6-8f69164jb201" }] } - 批量设置MySQL单增量同步任务策略示例:
https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-sync-policy { "jobs": [ { "conflict_policy": "ignore", "ddl_trans": true, "filter_ddl_policy": "drop_database", "index_trans": true, "job_id": "19557d51-1ee6-4507-97a6-8f69164jb201", "file_and_position": "mysql-bin.000019:197", "gtid_set":"e4979f26-4bc3-11ee-b279-fa163ef21d64:1-23" } ] }
响应示例
状态码:200
OK
{
"results" : [ {
"id" : "19557d51-1ee6-4507-97a6-8f69164jb201",
"status" : "success"
} ],
"count" : 1
} 状态码
状态码 | 描述 |
|---|---|
200 | OK |
400 | Bad Request |
错误码
请参见错误码。

