Apache kafka 卡夫卡连接不使用主题策略
上下文 我对几个小连接器进行了编码。一个每秒只生成随机数据,另一个在控制台中记录数据。它们与集成,因此使用序列化数据 我使用 基本设置工作并每秒生成一条记录的消息 不过,我想改变一下。默认设置生成两个主题: ${topic}-键 ${topic}-值 根据我的用例,我将需要生成具有不同模式的事件,这些事件将以同一主题结束。因此,我需要的主题名称是: ${topic}-${keyRecordName} ${topic}-${valueRecordName} 根据,我的需求符合 我试过什么 我创建用于发送值以连接的avroData对象:Apache kafka 卡夫卡连接不使用主题策略,apache-kafka,avro,apache-kafka-connect,confluent-schema-registry,Apache Kafka,Avro,Apache Kafka Connect,Confluent Schema Registry,上下文 我对几个小连接器进行了编码。一个每秒只生成随机数据,另一个在控制台中记录数据。它们与集成,因此使用序列化数据 我使用 基本设置工作并每秒生成一条记录的消息 不过,我想改变一下。默认设置生成两个主题: ${topic}-键 ${topic}-值 根据我的用例,我将需要生成具有不同模式的事件,这些事件将以同一主题结束。因此,我需要的主题名称是: ${topic}-${keyRecordName} ${topic}-${valueRecordName} 根据,我的需求符合 我试过什么 我创建用
class SampleSourceConnectorTask : SourceTask() {
private lateinit var avroData: AvroData
override fun start(props: Map<String, String>) {
[...]
avroData = AvroData(AvroDataConfig(props))
}
问题
连接器似乎忽略了这些属性,并继续使用旧的${topic}-key和${topic}-value主题
问题:
卡夫卡连接应该支持不同的主题策略。我设法解决了这个问题,写了我自己的版本,并硬编码主题策略是我需要的。但是,这看起来不是一个好方法,在尝试使用Sink Kafka连接器使用数据时也带来了问题。我复制了主题,因此有一个旧名称为${topic}-key的版本,它可以工作
将主题策略指定为Kafka Connect的正确设置是什么?您缺少key.converter和value.converter前缀,无法将配置传递给converter。因此,不是:
key.subject.name.strategy
value.subject.name.strategy
你想要:
key.converter.key.subject.name.strategy
value.converter.value.subject.name.strategy
资料来源:
要将配置参数传递给键和值转换器,请使用key.converter作为前缀。或值转换器。正如您在定义默认转换器时在工作配置中所做的那样。请注意,只有在key.converter或value.converter属性中指定了相应的转换器配置时,才使用这些属性
你说得对。我在文档中没有找到任何与此相关的内容,可能是因为我挖掘得不够。您是否有一些文档的链接来说明这一点?这将完成回答编辑的问题,包括上下文参考,直到汇合4.1.3,AFAIK,这才起作用。
key.converter.key.subject.name.strategy
value.converter.value.subject.name.strategy