Apache kafka 卡夫卡连接消费者引用偏移量并存储在消息中

Apache kafka 卡夫卡连接消费者引用偏移量并存储在消息中,apache-kafka,apache-kafka-connect,Apache Kafka,Apache Kafka Connect,如果我使用kafka connect来使用消息并存储到s3(使用kafka connect s3连接器),我是否可以将消息偏移量与事件负载一起存储?我想用这些数据对消息进行排序,同时检查是否有任何漏洞,或者检查我收到的消息中是否有任何重复项。(例如,如果我的消费者偏移量意外碰撞,我重新启动了kafka connect)。这是可能的还是我应该为这种类型的功能编写一个自定义订阅服务器?根据有关转换的文档,您可以使用offset.field: Name Description o

如果我使用kafka connect来使用消息并存储到s3(使用kafka connect s3连接器),我是否可以将消息偏移量与事件负载一起存储?我想用这些数据对消息进行排序,同时检查是否有任何漏洞,或者检查我收到的消息中是否有任何重复项。(例如,如果我的消费者偏移量意外碰撞,我重新启动了kafka connect)。这是可能的还是我应该为这种类型的功能编写一个自定义订阅服务器?

根据有关转换的文档,您可以使用
offset.field

Name            Description
offset.field    Field name for Apache Kafka® offset. This is only applicable to sink connectors. Suffix with ! to make this a required field, or ? to keep it optional (the default).
总体而言,您的单一消息转换(SMT)配置如下所示:

"transforms": "InsertField",
"transforms.InsertField.type": "org.apache.kafka.connect.transforms.InsertField$Value",
"transforms.InsertField.offset.field": "offsetColumn"

如果这不是您想要的,那么始终可以选择创建转换

我一直在寻找类似的东西,这个示例确实帮助了我。我有一个关于这个问题的问题!强制性的。是否为:“!transforms.InsertField.offset.field”:“offsetColumn”