密钥和值的setschemametadata

vybvopom  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(321)

我正在使用kafka connect jdbc源连接器将postgres数据库中的数据流传输到kafka。kafka集群中的所有消息都是由schema注册表管理的avro消息。我想显式地为消息的键和值设置模式名。
我通过使用 SetSchemaMetadata 选项。
为了设置值的架构名称,我使用了:

"transforms": "SetSchemaMetadata",
"transforms.SetSchemaMetadata.type": 
"org.apache.kafka.connect.transforms.SetSchemaMetadata$Value",
"transforms.SetSchemaMetadata.schema.name": "myCustomValueSchemaName"

对于键,我使用:

"transforms": "SetSchemaMetadata",
"transforms.SetSchemaMetadata.type": 
"org.apache.kafka.connect.transforms.SetSchemaMetadata$Key",
"transforms.SetSchemaMetadata.schema.name": "myCustomKeySchemaName"

有没有办法在connect config上同时设置它们?
非常感谢

kr98yfug

kr98yfug1#

我认为你可以使用链式转换:

"transforms": "KeySchemaMetadata,ValueSchemaMetadata",

"transforms.KeySchemaMetadata.type": "org.apache.kafka.connect.transforms.SetSchemaMetadata$Key",
"transforms.KeySchemaMetadata.schema.name": "myCustomKeySchemaName",

"transforms.ValueSchemaMetadata.type": "org.apache.kafka.connect.transforms.SetSchemaMetadata$Value",
"transforms.ValueSchemaMetadata.schema.name": "myCustomValueSchemaName"

相关问题