20.3. 使用法
本セクションでは、has-header-filter-action
の使用方法を説明します。
20.3.1. Knative Action
has-header-filter-action
Kamelet を Knative バインディングの中間ステップとして使用できます。この例では、Knative mychannel
は ce-foo
という名前のメッセージヘッダーを提供します。ヘッダー名の CloudEvents(ce-
)プレフィックスが必要です。Insert Header アクション の例では、メッセージヘッダーをデータに追加する方法を示します。
has-header-filter-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: has-header-filter-action-binding spec: source: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel steps: - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: has-header-filter-action properties: name: "ce-foo" sink: uri: "log:info"
20.3.1.1. 前提条件
- 接続している OpenShift クラスターに 「Red Hat Integration - Camel K」 がインストールされているようにしてください。
-
Kamelet バインディングのソース Kamelet は、
has-header-filter-action
Kamelet のname
プロパティーで指定した名前のヘッダーを渡す必要があります。
20.3.1.2. クラスター CLI の使用手順
-
has-header-filter-action-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせて編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f has-header-filter-action-binding.yaml
20.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step has-header-filter-action -p "step-0.name=ce-foo" channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
20.3.2. Kafka Action
has-header-filter-action
Kamelet を Kafka バインディングの中間ステップとして使用できます。この例では、kafka -source
Kamelet は foo
という名前のメッセージヘッダーを提供します。Insert Header アクション の例では、データにメッセージヘッダーを追加する方法を示します。
has-header-filter-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: has-header-filter-action-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: kafka-source properties: bootstrapServers: "my-cluster-kafka-bootstrap.myproject.svc:9092" password: "XXX" topic: "my-topic" user: "XXX" securityProtocol: "PLAINTEXT" steps: - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: has-header-filter-action properties: name: "foo" sink: uri: "log:info"
20.3.2.1. 前提条件
-
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に
my-topic
という名前のトピックを作成していることを確認します。 - 接続している OpenShift クラスターに 「Red Hat Integration - Camel K」 がインストールされていることを確認してください。
20.3.2.2. クラスター CLI の使用手順
-
has-header-filter-action-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせて編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f has-header-filter-action-binding.yaml
20.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step has-header-filter-action -p "step-0.name=foo" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。