1.3.2. アクション kamelets
1.3.2.1. Data フィルタリング kamelets
たとえば、機密データの漏えいや不要なネットワーク課金の生成を防ぐためやに、ソースとシンクコンポーネント間で渡されるデータをフィルタリングすることができます。
以下の基準に基づいてデータをフィルターできます。
-
Kafka トピック名: Topic Name Matches Filter Action Kamelet (
topic-name-matches-filter-action
) を設定して、指定の Java 正規表現に一致する名前を持つ Kafka トピックのイベントをフィルターします。 -
ヘッダーキー: Header Filter Action Kamelet (
has-header-filter-action
) を設定して、特定のメッセージヘッダーを持つイベントをフィルターします。 -
null 値: Tombstone Filter Action Kamelet (
is-tombstone-filter-action
) を設定して、null ペイロードを持つイベントであるトゥームストーンイベントをフィルターします。 述語: Predicate Filter Action Kamelet (
predicate-filter-action
) を設定して、指定の JSON パス式に基づいてイベントをフィルターします。predicate-filter-action
kamelet では、kamelet バインディングに以下の Builder トレイト設定プロパティーを設定する必要があります (https://camel.apache.org/camel-k/latest/traits/builder.html)。spec: integration: traits: builder: configuration: properties: - "quarkus.arc.unremovable-types=com.fasterxml. jackson.databind.ObjectMapper"
Data フィルタリング kamelets は、JSON データで追加設定なしで機能します (Content-Type ヘッダーが application/json に設定されている場合)。イベントデータが JSON 以外の形式を使用する場合は、操作アクションおよびその後のシリアライズステップ (例: protobuf-serialize-action
または avro-serialize-action
) の前にデシリアライズステップ (例: protobuf-deserialize-action
または avro-deserialize-action
) を追加して、データの形式を変換する必要があります。コネクションのデータ形式を変換する方法は、「データ変換 kamelets」を参照してください。