24.3. 使用法
本セクションでは、insert-header-action
の使用方法を説明します。
24.3.1. Knative Action
insert-header-action
Kamelet を Knative バインディングの中間ステップとして使用できます。以下の例では、ce-foo
ヘッダーを timer-source
Kamelet からのデータに追加します。ヘッダー名の CloudEvents(ce-
)プレフィックスが必要です。
insert-header-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: insert-header-action-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: timer-source properties: message: "Hello" steps: - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: insert-header-action properties: name: "ce-foo" value: "The Value" sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
24.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
24.3.1.2. クラスター CLI の使用手順
-
insert-header-action-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f insert-header-action-binding.yaml
24.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step insert-header-action -p "step-0.name=ce-foo" -p "step-0.value=The Value" channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
24.3.2. Kafka Action
insert-header-action
Kamelet を Kafka バインディングの中間ステップとして使用することができます。以下の例では、foo ヘッダーを
timer-source
Kamelet からのデータに追加します。
insert-header-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: timer-to-kafka spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: timer-source properties: period: "10000" message: 'msg' steps: - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: insert-header-action properties: name: "foo" value: "The Value" sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: kafka-sink properties: bootstrapServers: "my-cluster-kafka-bootstrap.myproject.svc:9092" password: "XXX" topic: "my-topic" user: "XXX" securityProtocol: "PLAINTEXT"
24.3.2.1. 前提条件
-
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に
my-topic
という名前のトピックを作成していることを確認します。 - 接続している OpenShift クラスターに 「Red Hat Integration - Camel K」 がインストールされていることを確認してください。
24.3.2.2. クラスター CLI の使用手順
-
insert-header-action-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f insert-header-action-binding.yaml
24.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step insert-header-action -p "step-0.name=foo" -p "step-0.value=The Value" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。