2.5. Applying operations to data within a Kafka connection
kamelet と Kafka トピック間で渡されるデータで操作を実行する場合は、kamelet バインディング内の中間ステップとして、アクション kamelets を使用します。たとえば、以下についてアクション kamelets を使用できます。
その他の参考資料
2.5.1. 異なる宛先トピックへのイベントデータのルーティング
Kafka インスタンスへのコネクションを設定する場合、イベントが異なる Kafka トピックにルーティングされるように、オプションでイベントデータからのトピック情報を変換できます。以下の変換アクション kamelets のいずれかを使用します。
-
Regex Router: 正規表現と代替文字列を使用してメッセージのトピックを変更します。たとえば、トピック接頭辞を削除する場合は、接頭辞を追加するか、トピック名の一部を削除します。Regex Router Action Kamelet (
regex-router-action
) を設定します。 -
TimeStamp: 元のトピックとメッセージのタイムスタンプに基づいてメッセージのトピックを変更します。たとえば、タイムスタンプに基づいて異なるテーブルまたはインデックスに書き込む必要があるシンクを使用する場合などです。たとえば、Kafka から Elasticsearch にイベントを書きみ、各イベントはイベント自体の情報に基づいて異なるインデックスに移動する必要がある場合。Timestamp Router Action Kamelet (
timestamp-router-action
) を設定します。 -
Message TimeStamp: 元のトピック値とメッセージ値フィールドからのタイムスタンプフィールドに基づいてメッセージのトピックを変更します。Message Timestamp Router Action Kamelet (
message-timestamp-router-action
) を設定します。 -
述語: Predicate Filter Action Kamelet (
predicate-filter-action
) を設定して、指定の JSON パス式に基づいてイベントをフィルターします。
前提条件
-
「Connecting a data source to a Kafka topic in a kamelet binding」で説明されているように、シンクが
kafka-sink
kamelet である kamelet バインディングを作成している。 - kamelet バインディングに追加する変換のタイプを知っている必要があります。
手順
宛先トピックを変換するには、kamelet バインディング内の中間ステップとして変換アクションの 1 つを使用します。
アクション kamelet を kamelet バインディングに追加する方法の詳細は、「Adding an operation to a kamelet binding」を参照してください。