Kafka MongoDB Sink连接器的动态WriteStrategy

cxfofazt  于 2023-11-16  发布在  Apache
关注(0)|答案(1)|浏览(114)

有没有一种方法可以动态选择MongoDB sink连接器的WriteStrategy?
手头的用例-
使用mongodb sink connector从一个topic中读取并写入mongo atlas,以保持这些写入顺序不变的方式,事件发生在源topic的给定分区上。源topic将根据业务键进行分区,然后用于在atlas上执行以下3项之一-
1.插入新文档(可能使用InsertOneDefaultStrategy)
1.根据业务密钥更新现有文档(可能使用UpdateOneBusinessKeyTimestampStrategy)
1.根据业务键删除现有文档(可能使用DeleteOneBusinessKeyStrategy)
我还在考虑是否可以使用ReplaceOneBusinessKeyStrategy来简化操作-但它不能满足删除要求-为此我正在考虑是否应该进行某种软删除。
编写自定义写入策略是另一种选择-但不确定我是否想投入时间和精力来定制一些东西。
我不能为每个事件类型设置多个源主题来排序关注点。
如果我可以根据输入消息中的某些头或元数据字段动态地选择Write策略,那就太好了。
欢迎任何建议或反馈。

wgeznvg7

wgeznvg71#

我觉得你需要花些时间来写一个自定义的写策略,有一个topic.override.<topic>.<property>设置,你可以为不同的主题指定不同的设置,即writemodel策略。
我想最简单的方法是包括一个文档字段,描述您想要执行的操作,并将相关操作应用于文档。

相关问题