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"
}