Kafka connect oracle-cdc 为每个主题自动生成具有相同名称“ConnectDefault”的模式。可以按主题定制吗?

问题描述 投票:0回答:1

我正在使用 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",
...
apache-kafka apache-kafka-connect confluent-schema-registry debezium change-data-capture
1个回答
0
投票

更改主题的正确属性名称是

value.converter.
+
value.schema.name.strategy
(您缺少
value
部分)

schema.registry.subject
不是有效的配置;为此使用变换。

https://docs.confluent.io/platform/current/schema-registry/fundamentals/serdes-develop/index.html#configuration-details

但这不会改变命名空间。为此,

timestamp.record.namespace
也不是正确的属性。这是
schema.name

https://docs.confluent.io/platform/current/connect/transforms/setschemametadata.html#properties

© www.soinside.com 2019 - 2024. All rights reserved.