1. 接口描述
接口请求域名:
ckafka.api.qcloud.com
本接口(AddConnector)用于创建数据同步任务。2. 输入参数
参数名称 | 必选 | 类型 | 描述 |
zoneId | 否 | String | 可用区 ID。 |
description | 是 | String | connector 描述。 |
connectorClass | 是 | String | 执行该任务的 class 名称,不同种类的同步 connector 有不同的名称,当前消息队列 Ckafka 不同实例之间的同步为 com.tencent.ckafka.replicator.K2KSourceConnector。当前仅支持 com.tencent.ckafka.replicator.K2KSourceConnector。 |
config | 是 | JSON String | |
name | 否 | String | connector 名称。 |
3. 配置说明
3.1 基础配置
配置项 | 必选 | 类型 | 配置说明 |
src.broker | 否 | String | 源 Kafka broker 地址。 |
dest.broker | 否 | String | 目标 Kafka broker 地址。 |
src.instance | 否 | String | 源实例名称。 |
dest.instance | 否 | String | 目标实例名称。 |
connector.class | 是 | String | 目前仅支持 com.tencent.ckafka.replicator.K2KSourceConnector 任务。 |
tasks.max | 是 | String | 同步的线程数量。 |
quota.value | 否 | String | connector 流控阈值。 |
quota.unit | 否 | String | BANDWIDTH 流控单位:流量/mbps;RECORD:记录数/条。 |
quota.strategy | 否 | String | org.apache.kafka.connect.storage.SimpleStrategy 流控策略 SimpleStrategy,平均分配流控给各个 Task 。 |
基础配置说明:
业务 connector 不能写基础配置的配置项,只能从中读取。
dest.instance 和 dest.broker 中,优先使用 dest.broker 配置;src.instance 和 src.broker 同理。
流控相关参数参数根据 connector 的类型进行不同方向的流控:sourceconnector 控制从源 Kafka 集群拉取消息的速率;sinkconnector 控制将数据导入目的 Kafka 集群的速率。
3.2 业务配置
配置项 | 必选 | 类型 | 默认值 | 配置说明 |
auto.create | 否 | String | false | 是否在目标集群创建 topic,如果设置为 false,topic 不存在会停止任务。 |
keep.partition | 否 | String | false | 源/目的端集群的 topic 的 partition 数是否必须保持一致,如果设置为 true,不一致时会停止任务。 |
topic.regex | 否 | String | N/A | 用正则表达式匹配 topic。 |
topic.regex.{key} | 否 | String | N/A | 匹配 topic 的正则表达式。 |
topic.regex.{key}. dest.prefix | 否 | String | N/A | 目的端集群创建 topic 时,在源 topic 名称的基础上加上前缀。 |
topic.regex.{key}. dest.suffix | 否 | String | N/A | 目的端集群创建 topic 时,在源 topic 名称的基础上加上后缀。 |
topic.regex.{key}.blacklist | 否 | String | false | 是否为黑名单配置。 |
topic.regex.{key}.offset.reset | 否 | String | earliest | - |
topic.regex.{key}.offset.offset | 否 | String | N/A | - |
topic.regex.{key}.offset.timestamp | 否 | String | N/A | - |
topic.config | 否 | String | N/A | 单个 topic 复制配置。 |
topic.config.{key} | 否 | String | N/A | topic 名称。 |
topic.config.{key}.dest.topic | 否 | String | N/A | 目的端 topic 名称,默认与源端保持一致。 |
业务配置说明:
connector 开始工作的 offset 设置,默认从 earliest 开始,同时配置多个时,优先级从高到低为:timestamp > offset > reset。
配置优先级:黑名单 topic > 单个 topic > 正则 topic > 全局 topic。
优先级示例说明:
如果 topicA 在 topic.config 中配置了,同时也符合正则表达式配置
topic.*
,则 topicA 以 topic.config 的配置为准。如果 topicA 配置了 auto.create=true,全局配置了 auto.create=false,则 auto.create=true。
topicA 符合正则表达式规定的黑名单,即使在 topic.config 中配置了,也不会生效。
业务配置示例:
{"connector.class":"com.tencent.ckafka.replicator.K2KSourceConnector", // 当前只支持这种类型数据同步方式"src.instance":"ckafka-9comx6cs", // 源实例"dest.instance":"ckafka-jizhaw80", // 目的实例"topic.config":{ // topic 同步配置"date":{ // 源 topic 名称"dest.topic":"date" // 目的 topic 名称}}}
4. 示例
输入:
https://domain/v2/index.php?Action=AddConnector&description=test&name=test&zoneId=200004&connectorClass=com.tencent.ckafka.replicator.K2KSourceConnector&config=xxx&<公共请求参数>
输出:
{"code": 0,"codeDesc": "Success","message": "ok"}