我正在使用 Kafka Connect 和 oracle cdc (https://docs.confluent.io/kafka-connectors/oracle-cdc/current/overview.html) 源连接器在一些数据库表上做 CDC。它为每个表创建一个主题,并为每个表自动生成一个 Avro 模式。问题是所有模式都具有相同的命名空间和名称:
"name": "ConnectDefault",
"namespace": "io.confluent.connect.avro",
"type": "record"
这个可以定制吗?
我已经尝试在连接器配置中设置不同的配置属性,但都没有解决问题:
"value.converter.schema.name.strategy": "io.confluent.kafka.serializers.subject.TopicNameStrategy",
"value.converter.schema.registry.subject": "my.namespace.myname",
"transforms":"AddNamespace",
"transforms.AddNamespace.type":"org.apache.kafka.connect.transforms.SetSchemaMetadata$Value",
"transforms.AddNamespace.timestamp.record.namespace":"example",
...
更改主题的正确属性名称是
value.converter.
+ value.schema.name.strategy
(您缺少value
部分)
schema.registry.subject
不是有效的配置;为此使用变换。
但这不会改变命名空间。为此,
timestamp.record.namespace
也不是正确的属性。这是schema.name
https://docs.confluent.io/platform/current/connect/transforms/setschemametadata.html#properties