2.5. 将操作应用到 Kafka 连接中的数据
如果要在 Kamelet 和 Kafka 主题之间通过的数据执行一个操作,请使用 action Kamelets 作为 Kamelet Binding 中的中间步骤。
2.5.1. 将事件数据路由到不同的目标主题
当您配置到 Kafka 实例的连接时,您可以选择性地将主题信息从事件数据转换,以便事件路由到不同的 Kafka 主题。使用以下转换操作 Kamelets 之一:
-
regex Router - 使用正则表达式和替换字符串修改消息的主题。例如,如果要删除主题前缀,请添加前缀,或删除主题名称的一部分。配置 Regex Router Action Kamelet (
regex-router-action
)。 -
timestamp - 根据原始主题和消息的时间戳修改消息的主题。例如,当使用需要根据时间戳写入不同表或索引的 sink 时。例如,当您想要将事件从 Kafka 写入 Elasticsearch 时,每个事件都需要根据事件本身的信息进入不同的索引。配置 Timestamp Router Action Kamelet (
timestamp-router-action
)。 -
Message TimeStamp - 根据原始主题值和来自消息值的 timestamp 字段修改消息的主题。配置 Message Timestamp Router Action Kamelet (
消息-timestamp-router-action
)。 -
predicate - 通过配置 Predicate Filter Action Kamelet (
predicate-filter-action
)基于给定 JSON 路径表达式过滤事件。
前提条件
-
您已创建一个 Kamelet Binding,其中 sink 是
kafka-sink
Kamelet,如 Kamelet Binding 中的连接到 Kafka 主题 中所述。 - 您知道您要添加到 Kamelet Binding 的转换类型。
流程
要转换目标主题,请使用其中一个转换操作 Kamelets 作为 Kamelet Binding 中的中间步骤。
有关如何在 Kamelet Binding 中添加操作 Kamelet 的详情,请参阅 向 Kamelet Binding 添加操作。