Kamelets リファレンス
Kamelets リファレンス
概要
前書き
多様性を受け入れるオープンソースの強化
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、弊社 の CTO、Chris Wright のメッセージ を参照してください。
第1章 サポート対象の Kamelets
以下の Kamelets は Camel K 1.6 でサポートされます。
- Avro デシリアライズアクション
- Avro シリアライズアクション
- AWS 2 S3 シンク
- AWS 2 S3 ソース
- AWS 2 S3 streaming upload sink
- AWS 2 Kinesis シンク
- AWS 2 Kinesis ソース
- AWS 2 Lambda シンク
- AWS 2 Simple Notification System シンク
- AWS 2 Simple Queue Service シンク
- AWS 2 Simple Queue Service ソース
- AWS SQS FIFO シンク
- Cassandra シンク (テクノロジープレビュー)
- Cassandra ソース (テクノロジープレビュー)
- Elasticsearch インデックスシンク (テクノロジープレビュー)
- フィールドアクションの抽出
- FTP シンク
- FTP ソース
- ヘッダーフィルターアクションがある
- Hoist フィールドアクション
- HTTP シンク
- フィールドアクションの挿入
- Header アクションの挿入
- Tombstone Filter アクション
- JIRA ソース (テクノロジープレビュー)
- JMS シンク
- JMS ソース
- JSON デシリアライズアクション
- JSON シリアライズアクション
- Kafka シンクコ
- Kafka ソース
- Kafka Topic name filter action (Kafka のみ)
- ログシンク (開発およびテストの目的で)
- MariaDB シンク
- mask フィールドアクション
- Message TimeStamp アクション
- MongoDB シンク
- MongoDB ソース
- MySQL シンクコネクター
- PostgreSQL シンクコネクター
- 述語フィルターアクション
- Protobuf デシリアライズアクション
- Protobuf シリアライズアクション
- regex ルーターのアクション
- フィールドアクションの置き換え
- Salesforce ソース
- SFTP シンク
- SFTP ソース
- Slack ソース
- SQL Server シンク
- Telegram ソース (テクノロジープレビュー)
- タイマーソース (開発およびテスト目的)
- ルーターアクションのタイムスタンプ
- キーアクションに対する値
第2章 Avro デシリアライズアクション
ペイロードを Avro にデシリアライズ
2.1. 設定オプション
次の表は、avro-deserialize-action
Kameletで利用可能な設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
スキーマ * | Schema | シリアライゼーション時に使用する Avro スキーマ(JSON 形式を使用) | 文字列 |
| |
validate | Validate | コンテンツがスキーマに対して検証される必要があるかどうかを示します。 | boolean |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
2.2. 依存関係
実行時に、avro-deserialize-action
Kamelet は以下の依存関係の存在に依存します。
- mvn:org.apache.camel.kamelets:camel-kamelets-utils:1.0.0.fuse-800048-redhat-00001
- camel:kamelet
- camel:core
- camel:jackson-avro
2.3. 使用法
ここでは、avro-deserialize-action
の使用方法について説明します。
2.3.1. Knative Action
avro-deserialize-action
Kamelet を Knative バインディングの中間ステップとして使用することができます。
avro-deserialize-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: avro-deserialize-action-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: timer-source properties: message: '{"first":"Ada","last":"Lovelace"}' steps: - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: json-deserialize-action - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: avro-serialize-action properties: schema: "{\"type\": \"record\", \"namespace\": \"com.example\", \"name\": \"FullName\", \"fields\": [{\"name\": \"first\", \"type\": \"string\"},{\"name\": \"last\", \"type\": \"string\"}]}" - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: avro-deserialize-action properties: schema: "{\"type\": \"record\", \"namespace\": \"com.example\", \"name\": \"FullName\", \"fields\": [{\"name\": \"first\", \"type\": \"string\"},{\"name\": \"last\", \"type\": \"string\"}]}" - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: json-serialize-action sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
2.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
2.3.1.2. クラスター CLI の使用手順
-
avro-deserialize-action-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせて編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f avro-deserialize-action-binding.yaml
2.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind "timer-source?message={\"first\":\"Ada\",\"last\":\"Lovelace\"}" --step json-deserialize-action --step avro-serialize-action -p "step-1.schema={\"type\":\"record\", \"namespace\": \"com.example\", \"name\": \"FullName\", \"fields\": [{\"name\": \"first\", \"type\": \"string\"},{\"name\": \"last\", \"type\": \"string\"}]}" --step avro-deserialize-action -p "step-2.schema={\"type\":\"record\", \"namespace\": \"com.example\", \"name\": \"FullName\", \"fields\": [{\"name\": \"first\", \"type\": \"string\"},{\"name\": \"last\", \"type\": \"string\"}]}" --step json-deserialize-action channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
2.3.2. Kafka Action
avro-deserialize-action
Kamelet を Kafka バインディングの中間ステップとして使用することができます。
avro-deserialize-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: avro-deserialize-action-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: timer-source properties: message: '{"first":"Ada","last":"Lovelace"}' steps: - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: json-deserialize-action - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: avro-serialize-action properties: schema: "{\"type\": \"record\", \"namespace\": \"com.example\", \"name\": \"FullName\", \"fields\": [{\"name\": \"first\", \"type\": \"string\"},{\"name\": \"last\", \"type\": \"string\"}]}" - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: avro-deserialize-action properties: schema: "{\"type\": \"record\", \"namespace\": \"com.example\", \"name\": \"FullName\", \"fields\": [{\"name\": \"first\", \"type\": \"string\"},{\"name\": \"last\", \"type\": \"string\"}]}" - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: json-serialize-action sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
2.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
2.3.2.2. クラスター CLI の使用手順
-
avro-deserialize-action-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせて編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f avro-deserialize-action-binding.yaml
2.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind "timer-source?message={\"first\":\"Ada\",\"last\":\"Lovelace\"}" --step json-deserialize-action --step avro-serialize-action -p "step-1.schema={\"type\":\"record\", \"namespace\": \"com.example\", \"name\": \"FullName\", \"fields\": [{\"name\": \"first\", \"type\": \"string\"},{\"name\": \"last\", \"type\": \"string\"}]}" --step avro-deserialize-action -p "step-2.schema={\"type\":\"record\", \"namespace\": \"com.example\", \"name\": \"FullName\", \"fields\": [{\"name\": \"first\", \"type\": \"string\"},{\"name\": \"last\", \"type\": \"string\"}]}" --step json-deserialize-action kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
2.4. Kamelet ソースファイル
第3章 Avro シリアルアクション
ペイロードと Avro へのシリアライズ
3.1. 設定オプション
次の表は、avro-serialize-action
Kamelet で利用可能な設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
スキーマ * | Schema | シリアライゼーション時に使用する Avro スキーマ(JSON 形式を使用) | 文字列 |
| |
validate | Validate | コンテンツがスキーマに対して検証される必要があるかどうかを示します。 | boolean |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
3.2. 依存関係
実行時に、avro-serialize-action
Kamelet は以下の依存関係の存在に依存しています。
- mvn:org.apache.camel.kamelets:camel-kamelets-utils:1.0.0.fuse-800048-redhat-00001
- camel:kamelet
- camel:core
- camel:jackson-avro
3.3. 使用法
ここでは、avro-serialize-action
の使用方法について説明します。
3.3.1. Knative Action
avro-serialize-action
Kamelet を Knative バインディングの中間ステップとして使用できます。
avro-serialize-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: avro-serialize-action-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: timer-source properties: message: '{"first":"Ada","last":"Lovelace"}' steps: - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: json-deserialize-action - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: avro-serialize-action properties: schema: "{\"type\": \"record\", \"namespace\": \"com.example\", \"name\": \"FullName\", \"fields\": [{\"name\": \"first\", \"type\": \"string\"},{\"name\": \"last\", \"type\": \"string\"}]}" sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
3.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
3.3.1.2. クラスター CLI の使用手順
-
avro-serialize-action-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせて編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f avro-serialize-action-binding.yaml
3.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind "timer-source?message={\"first\":\"Ada\",\"last\":\"Lovelace\"}" --step json-deserialize-action --step avro-serialize-action -p "step-1.schema={\"type\":\"record\", \"namespace\": \"com.example\", \"name\": \"FullName\", \"fields\": [{\"name\": \"first\", \"type\": \"string\"},{\"name\": \"last\", \"type\": \"string\"}]}" channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
3.3.2. Kafka Action
avro-serialize-action
Kamelet を Kafka バインディングの中間ステップとして使用することができます。
avro-serialize-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: avro-serialize-action-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: timer-source properties: message: '{"first":"Ada","last":"Lovelace"}' steps: - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: json-deserialize-action - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: avro-serialize-action properties: schema: "{\"type\": \"record\", \"namespace\": \"com.example\", \"name\": \"FullName\", \"fields\": [{\"name\": \"first\", \"type\": \"string\"},{\"name\": \"last\", \"type\": \"string\"}]}" sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
3.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
3.3.2.2. クラスター CLI の使用手順
-
avro-serialize-action-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせて編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f avro-serialize-action-binding.yaml
3.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind "timer-source?message={\"first\":\"Ada\",\"last\":\"Lovelace\"}" --step json-deserialize-action --step avro-serialize-action -p "step-1.schema={\"type\":\"record\", \"namespace\": \"com.example\", \"name\": \"FullName\", \"fields\": [{\"name\": \"first\", \"type\": \"string\"},{\"name\": \"last\", \"type\": \"string\"}]}" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
3.4. Kamelet ソースファイル
第4章 AWS S3 Sink
データを AWS S3 にアップロードします。
Kamelet では、以下のヘッダーが設定されていることを想定しています。
-
file
/ce-file
: アップロードするファイル名として
ヘッダーが設定されていない場合、エクスチェンジ ID はファイル名として使用されます。
4.1. 設定オプション
次の表は、aws-s3-sink
Kameletで利用できる設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
accessKey * | アクセスキー | AWS から取得したアクセスキー。 | 文字列 | ||
bucketNameOrArn * | バケット名 | S3 Bucket 名または ARN。 | 文字列 | ||
region * | AWS リージョン | 接続する AWS リージョン。 | 文字列 |
| |
secretKey * | シークレットキー | AWS から取得したシークレットキー。 | 文字列 | ||
autoCreateBucket | autocreate バケット | S3 バケット bucketName の自動作成の設定。 | boolean |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
4.2. 依存関係
実行時に、aws-s3-sink
Kameletは以下の依存関係の存在に依存します。
- camel:aws2-s3
- camel:kamelet
4.3. 使用法
ここでは、aws-s3-sink
の使用方法について説明します。
4.3.1. Knative Sink
aws-s3-sink
KameletをKnativeオブジェクトにバインドすることで、Knativeのシンクとして使用することができます。
aws-s3-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: aws-s3-sink-binding spec: source: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: aws-s3-sink properties: accessKey: "The Access Key" bucketNameOrArn: "The Bucket Name" region: "eu-west-1" secretKey: "The Secret Key"
4.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
4.3.1.2. クラスター CLI の使用手順
-
aws-s3-sink-binding.yaml
ファイルをローカルドライブに保存してから、構成に応じて編集します。 以下のコマンドを使用してシンクを実行します。
oc apply -f aws-s3-sink-binding.yaml
4.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind channel:mychannel aws-s3-sink -p "sink.accessKey=The Access Key" -p "sink.bucketNameOrArn=The Bucket Name" -p "sink.region=eu-west-1" -p "sink.secretKey=The Secret Key"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
4.3.2. Kafka Sink
aws-s3-sink
KameletをKafkaのトピックにバインドすることで、Kafkaのシンクとして使用することができます。
aws-s3-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: aws-s3-sink-binding spec: source: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: aws-s3-sink properties: accessKey: "The Access Key" bucketNameOrArn: "The Bucket Name" region: "eu-west-1" secretKey: "The Secret Key"
4.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
4.3.2.2. クラスター CLI の使用手順
-
aws-s3-sink-binding.yaml
ファイルをローカルドライブに保存してから、構成に応じて編集します。 以下のコマンドを使用してシンクを実行します。
oc apply -f aws-s3-sink-binding.yaml
4.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic aws-s3-sink -p "sink.accessKey=The Access Key" -p "sink.bucketNameOrArn=The Bucket Name" -p "sink.region=eu-west-1" -p "sink.secretKey=The Secret Key"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
4.4. Kamelet ソースファイル
第5章 AWS S3 ソース
AWS S3 からデータを受け取ります。
5.1. 設定オプション
次の表は、aws-s3-source
Kamelet で利用可能な設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
accessKey * | アクセスキー | AWS から取得したアクセスキー | 文字列 | ||
bucketNameOrArn * | バケット名 | S3 バケット名または ARN。 | 文字列 | ||
region * | AWS リージョン | 以下に接続する AWS リージョン | 文字列 |
| |
secretKey * | シークレットキー | AWS から取得したシークレットキー | 文字列 | ||
autoCreateBucket | autocreate バケット | S3 バケット bucketName の自動作成の設定。 | boolean |
| |
deleteAfterRead | 自動削除オブジェクト | オブジェクトの使用後のオブジェクトの削除 | boolean |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
5.2. 依存関係
aws-s3-source
Kameletは、実行時に以下の依存関係の存在に依存します。
- camel:kamelet
- camel:aws2-s3
5.3. 使用法
ここでは、aws-s3-source
を使用する方法について説明します。
5.3.1. Knative Source
aws-s3-source
KameletをKnativeオブジェクトにバインドすることで、Knativeのソースとして使用することができます。
aws-s3-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: aws-s3-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: aws-s3-source properties: accessKey: "The Access Key" bucketNameOrArn: "The Bucket Name" region: "eu-west-1" secretKey: "The Secret Key" sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
5.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
5.3.1.2. クラスター CLI の使用手順
-
aws-s3-source-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集してください。 以下のコマンドを使用してソースを実行します。
oc apply -f aws-s3-source-binding.yaml
5.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してソースを設定および実行します。
kamel bind aws-s3-source -p "source.accessKey=The Access Key" -p "source.bucketNameOrArn=The Bucket Name" -p "source.region=eu-west-1" -p "source.secretKey=The Secret Key" channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
5.3.2. Kafka Source
aws-s3-source
KameletをKafkaのトピックにバインドすることで、Kafkaのソースとして使用することができます。
aws-s3-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: aws-s3-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: aws-s3-source properties: accessKey: "The Access Key" bucketNameOrArn: "The Bucket Name" region: "eu-west-1" secretKey: "The Secret Key" sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
5.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
5.3.2.2. クラスター CLI の使用手順
-
aws-s3-source-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集してください。 以下のコマンドを使用してソースを実行します。
oc apply -f aws-s3-source-binding.yaml
5.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してソースを設定および実行します。
kamel bind aws-s3-source -p "source.accessKey=The Access Key" -p "source.bucketNameOrArn=The Bucket Name" -p "source.region=eu-west-1" -p "source.secretKey=The Secret Key" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
5.4. Kamelet ソースファイル
第6章 AWS S3 Streaming upload Sink
データをストリーミングアップロードモードで AWS S3 にアップロードします。
6.1. 設定オプション
次の表は、aws-s3-streaming-upload-sink
Kameletで利用できる設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
accessKey * | アクセスキー | AWS から取得したアクセスキー。 | 文字列 | ||
bucketNameOrArn * | バケット名 | S3 Bucket 名または ARN。 | 文字列 | ||
keyName * | キー名 | endpoint パラメーター経由でバケットの要素のキー名を設定します。Streaming Upload では、デフォルト設定で、ファイルの進捗作成のベースとなります。 | 文字列 | ||
region * | AWS リージョン | 接続する AWS リージョン。 | 文字列 |
| |
secretKey * | シークレットキー | AWS から取得したシークレットキー。 | 文字列 | ||
autoCreateBucket | autocreate バケット | S3 バケット bucketName の自動作成の設定。 | boolean |
| |
batchMessageNumber | バッチメッセージ番号 | ストリーミングのアップロードモードでバッチを作成するメッセージの数 | int |
| |
batchSize | バッチサイズ | ストリーミングのアップロードモードのバッチサイズ(バイト単位) | int |
| |
namingStrategy | 命名ストラテジー | ストリーミングのアップロードモードで使用する命名ストラテジー。2 つの列挙があり、値は progressive、random のいずれかです。 | 文字列 |
| |
restartingPolicy | ポリシーの再起動 | ストリーミングのアップロードモードで使用する再起動ポリシー。2 つの列挙があり、値は override または lastPart の 1 つになります。 | 文字列 |
| |
streamingUploadMode | ストリーミングアップロードモード | Streaming Upload モードの設定 | boolean |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
6.2. 依存関係
aws-s3-streaming-upload-sink
Kameletは、実行時に以下の依存関係の存在に依存します。
- camel:aws2-s3
- camel:kamelet
6.3. 使用法
ここでは、aws-s3-streaming-upload-sink
の使用方法について説明します。
6.3.1. Knative Sink
aws-s3-streaming-upload-sink
KameletをKnativeオブジェクトにバインドすることで、Knativeのシンクとして使用することができます。
aws-s3-streaming-upload-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: aws-s3-streaming-upload-sink-binding spec: source: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: aws-s3-streaming-upload-sink properties: accessKey: "The Access Key" bucketNameOrArn: "The Bucket Name" keyName: "The Key Name" region: "eu-west-1" secretKey: "The Secret Key"
6.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
6.3.1.2. クラスター CLI の使用手順
-
aws-s3-streaming-upload-sink-binding.yaml
ファイルをローカルドライブに保存し、構成に応じて編集します。 以下のコマンドを使用してシンクを実行します。
oc apply -f aws-s3-streaming-upload-sink-binding.yaml
6.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind channel:mychannel aws-s3-streaming-upload-sink -p "sink.accessKey=The Access Key" -p "sink.bucketNameOrArn=The Bucket Name" -p "sink.keyName=The Key Name" -p "sink.region=eu-west-1" -p "sink.secretKey=The Secret Key"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
6.3.2. Kafka Sink
aws-s3-streaming-upload-sink
Kamelet を Kafka トピックにバインドすることにより、Kafka シンクとして使用できます。
aws-s3-streaming-upload-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: aws-s3-streaming-upload-sink-binding spec: source: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: aws-s3-streaming-upload-sink properties: accessKey: "The Access Key" bucketNameOrArn: "The Bucket Name" keyName: "The Key Name" region: "eu-west-1" secretKey: "The Secret Key"
6.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
6.3.2.2. クラスター CLI の使用手順
-
aws-s3-streaming-upload-sink-binding.yaml
ファイルをローカルドライブに保存し、構成に応じて編集します。 以下のコマンドを使用してシンクを実行します。
oc apply -f aws-s3-streaming-upload-sink-binding.yaml
6.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic aws-s3-streaming-upload-sink -p "sink.accessKey=The Access Key" -p "sink.bucketNameOrArn=The Bucket Name" -p "sink.keyName=The Key Name" -p "sink.region=eu-west-1" -p "sink.secretKey=The Secret Key"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
6.4. Kamelet ソースファイル
第7章 AWS Kinesis Sink
データを AWS Kinesis に送信します。
Kamelet には以下のヘッダーが必要です。
-
partition
/ce-partition
: Kinesis のパーティションキーを設定
ヘッダーが設定されていない場合は、エクスチェンジ ID が使用されます。
Kamelet は以下のヘッダーを認識することもできます。
-
sequence-number
/ce-sequencenumber
: シーケンス番号を設定します。
このヘッダーは任意です。
7.1. 設定オプション
次の表は、aws-kinesis-sink
Kameletで利用できる設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
accessKey * | アクセスキー | AWS から取得したアクセスキー | 文字列 | ||
region * | AWS リージョン | 以下に接続する AWS リージョン | 文字列 |
| |
secretKey * | シークレットキー | AWS から取得したシークレットキー | 文字列 | ||
stream * | ストリーム名 | アクセスする Kinesis ストリーム(事前に作成されている必要があります) | 文字列 |
アスタリスク(*)のマークが付いたフィールドは必須です。
7.2. 依存関係
実行時に、aws-kinesis-sink
Kameletは以下の依存関係の存在に依存します。
- camel:aws2-kinesis
- camel:kamelet
7.3. 使用法
ここでは、aws-kinesis-sink
の使用方法について説明します。
7.3.1. Knative Sink
aws-kinesis-sink
KameletをKnativeオブジェクトにバインドすることで、Knativeのシンクとして使用することができます。
aws-kinesis-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: aws-kinesis-sink-binding spec: source: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: aws-kinesis-sink properties: accessKey: "The Access Key" region: "eu-west-1" secretKey: "The Secret Key" stream: "The Stream Name"
7.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
7.3.1.2. クラスター CLI の使用手順
-
aws-kinesis-sink-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせて編集します。 以下のコマンドを使用してシンクを実行します。
oc apply -f aws-kinesis-sink-binding.yaml
7.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind channel:mychannel aws-kinesis-sink -p "sink.accessKey=The Access Key" -p "sink.region=eu-west-1" -p "sink.secretKey=The Secret Key" -p "sink.stream=The Stream Name"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
7.3.2. Kafka Sink
aws-kinesis-sink
Kamelet を Kafka シンクとして使用することは、これを Kafka トピックにバインドできます。
aws-kinesis-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: aws-kinesis-sink-binding spec: source: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: aws-kinesis-sink properties: accessKey: "The Access Key" region: "eu-west-1" secretKey: "The Secret Key" stream: "The Stream Name"
7.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
7.3.2.2. クラスター CLI の使用手順
-
aws-kinesis-sink-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせて編集します。 以下のコマンドを使用してシンクを実行します。
oc apply -f aws-kinesis-sink-binding.yaml
7.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic aws-kinesis-sink -p "sink.accessKey=The Access Key" -p "sink.region=eu-west-1" -p "sink.secretKey=The Secret Key" -p "sink.stream=The Stream Name"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
7.4. Kamelet ソースファイル
第8章 AWS Kinesis ソース
AWS Kinesis からデータを受信します。
8.1. 設定オプション
次の表は、aws-kinesis-source
Kameletで利用できる設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
accessKey * | アクセスキー | AWS から取得したアクセスキー | 文字列 | ||
region * | AWS リージョン | 以下に接続する AWS リージョン | 文字列 |
| |
secretKey * | シークレットキー | AWS から取得したシークレットキー | 文字列 | ||
stream * | ストリーム名 | アクセスする Kinesis ストリーム(事前に作成されている必要があります) | 文字列 |
アスタリスク(*)のマークが付いたフィールドは必須です。
8.2. 依存関係
aws-kinesis-source
Kameletは、実行時に以下の依存関係の存在に依存します。
- camel:gson
- camel:kamelet
- camel:aws2-kinesis
8.3. 使用法
ここでは、aws-kinesis-source
を使用する方法について説明します。
8.3.1. Knative Source
aws-kinesis-source
KameletをKnativeオブジェクトにバインドすることで、Knativeのソースとして使用することができます。
aws-kinesis-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: aws-kinesis-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: aws-kinesis-source properties: accessKey: "The Access Key" region: "eu-west-1" secretKey: "The Secret Key" stream: "The Stream Name" sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
8.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
8.3.1.2. クラスター CLI の使用手順
-
aws-kinesis-sink-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせて編集します。 以下のコマンドを使用してソースを実行します。
oc apply -f aws-kinesis-source-binding.yaml
8.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してソースを設定および実行します。
kamel bind aws-kinesis-source -p "source.accessKey=The Access Key" -p "source.region=eu-west-1" -p "source.secretKey=The Secret Key" -p "source.stream=The Stream Name" channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
8.3.2. Kafka Source
aws-kinesis-source
Kamelet を Kafka ソースとして使用するには、これを Kafka トピックにバインドできます。
aws-kinesis-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: aws-kinesis-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: aws-kinesis-source properties: accessKey: "The Access Key" region: "eu-west-1" secretKey: "The Secret Key" stream: "The Stream Name" sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
8.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
8.3.2.2. クラスター CLI の使用手順
-
aws-kinesis-sink-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせて編集します。 以下のコマンドを使用してソースを実行します。
oc apply -f aws-kinesis-source-binding.yaml
8.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してソースを設定および実行します。
kamel bind aws-kinesis-source -p "source.accessKey=The Access Key" -p "source.region=eu-west-1" -p "source.secretKey=The Secret Key" -p "source.stream=The Stream Name" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
8.4. Kamelet ソースファイル
第9章 AWS Lambda Sink
AWS Lambda 関数へのペイロードの送信
9.1. 設定オプション
次の表は、aws-lambda-sink
Kameletで利用できる設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
accessKey * | アクセスキー | AWS から取得したアクセスキー | 文字列 | ||
function * | 関数名 | Lambda 機能名 | 文字列 | ||
region * | AWS リージョン | 以下に接続する AWS リージョン | 文字列 |
| |
secretKey * | シークレットキー | AWS から取得したシークレットキー | 文字列 |
アスタリスク(*)のマークが付いたフィールドは必須です。
9.2. 依存関係
実行時に、aws-lambda-sink
Kameletは以下の依存関係の存在に依存します。
- camel:kamelet
- camel:aws2-lambda
9.3. 使用法
ここでは、aws-lambda-sink
の使用方法について説明します。
9.3.1. Knative Sink
aws-lambda-sink
KameletをKnativeオブジェクトにバインドすることで、Knativeのシンクとして使用することができます。
aws-lambda-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: aws-lambda-sink-binding spec: source: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: aws-lambda-sink properties: accessKey: "The Access Key" function: "The Function Name" region: "eu-west-1" secretKey: "The Secret Key"
9.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
9.3.1.2. クラスター CLI の使用手順
-
aws-lambda-sink-binding.yaml
ファイルをローカルドライブに保存してから、構成に応じて編集します。 以下のコマンドを使用してシンクを実行します。
oc apply -f aws-lambda-sink-binding.yaml
9.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind channel:mychannel aws-lambda-sink -p "sink.accessKey=The Access Key" -p "sink.function=The Function Name" -p "sink.region=eu-west-1" -p "sink.secretKey=The Secret Key"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
9.3.2. Kafka Sink
aws-lambda-sink
KameletをKafkaのトピックにバインドすることで、Kafkaのシンクとして使用することができます。
aws-lambda-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: aws-lambda-sink-binding spec: source: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: aws-lambda-sink properties: accessKey: "The Access Key" function: "The Function Name" region: "eu-west-1" secretKey: "The Secret Key"
9.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
9.3.2.2. クラスター CLI の使用手順
-
aws-lambda-sink-binding.yaml
ファイルをローカルドライブに保存してから、構成に応じて編集します。 以下のコマンドを使用してシンクを実行します。
oc apply -f aws-lambda-sink-binding.yaml
9.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic aws-lambda-sink -p "sink.accessKey=The Access Key" -p "sink.function=The Function Name" -p "sink.region=eu-west-1" -p "sink.secretKey=The Secret Key"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
9.4. Kamelet ソースファイル
第10章 AWS SNS Sink
AWS SNS トピックへのメッセージの送信
10.1. 設定オプション
次の表は、aws-sns-sink
Kameletで利用可能な設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
accessKey * | アクセスキー | AWS から取得したアクセスキー | 文字列 | ||
region * | AWS リージョン | 以下に接続する AWS リージョン | 文字列 |
| |
secretKey * | シークレットキー | AWS から取得したシークレットキー | 文字列 | ||
topicNameOrArn * | トピック名 | SQS トピック名または ARN。 | 文字列 | ||
autoCreateTopic | トピックの自動作成 | SNS トピックの自動作成を設定します。 | boolean |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
10.2. 依存関係
実行時に、aws-sns-sink
Kameletは以下の依存関係の存在に依存します。
- camel:kamelet
- camel:aws2-sns
10.3. 使用法
ここでは、aws-s3-sink
の使用方法について説明します。
10.3.1. Knative Sink
aws-sns-sink
KameletをKnativeオブジェクトにバインドすることで、Knativeのシンクとして使用することができます。
aws-sns-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: aws-sns-sink-binding spec: source: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: aws-sns-sink properties: accessKey: "The Access Key" region: "eu-west-1" secretKey: "The Secret Key" topicNameOrArn: "The Topic Name"
10.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
10.3.1.2. クラスター CLI の使用手順
-
aws-sns-sink-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせてこれを編集します。 以下のコマンドを使用してシンクを実行します。
oc apply -f aws-sns-sink-binding.yaml
10.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind channel:mychannel aws-sns-sink -p "sink.accessKey=The Access Key" -p "sink.region=eu-west-1" -p "sink.secretKey=The Secret Key" -p "sink.topicNameOrArn=The Topic Name"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
10.3.2. Kafka Sink
aws-sns-sink
Kamelet を Kafka シンクとして使用することは、Kafka トピックにバインドできます。
aws-sns-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: aws-sns-sink-binding spec: source: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: aws-sns-sink properties: accessKey: "The Access Key" region: "eu-west-1" secretKey: "The Secret Key" topicNameOrArn: "The Topic Name"
10.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
10.3.2.2. クラスター CLI の使用手順
-
aws-sns-sink-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせてこれを編集します。 以下のコマンドを使用してシンクを実行します。
oc apply -f aws-sns-sink-binding.yaml
10.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic aws-sns-sink -p "sink.accessKey=The Access Key" -p "sink.region=eu-west-1" -p "sink.secretKey=The Secret Key" -p "sink.topicNameOrArn=The Topic Name"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
10.4. Kamelet ソースファイル
第11章 AWS SQS Sink
メッセージを AWS SQS キューに送信します。
11.1. 設定オプション
次の表は、aws-sqs-sink
Kamelet で利用できる設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
accessKey * | アクセスキー | AWS から取得したアクセスキー | 文字列 | ||
queueNameOrArn * | キュー名 | SQS キュー名または ARN。 | 文字列 | ||
region * | AWS リージョン | 以下に接続する AWS リージョン | 文字列 |
| |
secretKey * | シークレットキー | AWS から取得したシークレットキー | 文字列 | ||
autoCreateQueue | 自動作成キュー | SQS キューの自動作成の設定。 | boolean |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
11.2. 依存関係
実行時に、aws-sqs-sink
Kameletは以下の依存関係の存在に依存します。
- camel:aws2-sqs
- camel:core
- camel:kamelet
11.3. 使用法
ここでは、aws-sqs-sink
の使用方法について説明します。
11.3.1. Knative Sink
aws-sqs-sink
KameletをKnativeオブジェクトにバインドすることで、Knativeのシンクとして使用することができます。
aws-sqs-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: aws-sqs-sink-binding spec: source: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: aws-sqs-sink properties: accessKey: "The Access Key" queueNameOrArn: "The Queue Name" region: "eu-west-1" secretKey: "The Secret Key"
11.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
11.3.1.2. クラスター CLI の使用手順
-
aws-sns-sink-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせてこれを編集します。 以下のコマンドを使用してシンクを実行します。
oc apply -f aws-sqs-sink-binding.yaml
11.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind channel:mychannel aws-sqs-sink -p "sink.accessKey=The Access Key" -p "sink.queueNameOrArn=The Queue Name" -p "sink.region=eu-west-1" -p "sink.secretKey=The Secret Key"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
11.3.2. Kafka Sink
aws-sqs-sink
Kamelet を Kafka シンクとして使用することは、これを Kafka トピックにバインドできます。
aws-sqs-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: aws-sqs-sink-binding spec: source: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: aws-sqs-sink properties: accessKey: "The Access Key" queueNameOrArn: "The Queue Name" region: "eu-west-1" secretKey: "The Secret Key"
11.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
11.3.2.2. クラスター CLI の使用手順
-
aws-sns-sink-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせてこれを編集します。 以下のコマンドを使用してシンクを実行します。
oc apply -f aws-sqs-sink-binding.yaml
11.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic aws-sqs-sink -p "sink.accessKey=The Access Key" -p "sink.queueNameOrArn=The Queue Name" -p "sink.region=eu-west-1" -p "sink.secretKey=The Secret Key"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
11.4. Kamelet ソースファイル
第12章 AWS SQS ソース
AWS SQS からデータを受け取ります。
12.1. 設定オプション
次の表は、aws-sqs-source
Kamelet で利用可能な設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
accessKey * | アクセスキー | AWS から取得したアクセスキー | 文字列 | ||
queueNameOrArn * | キュー名 | SQS キュー名または ARN。 | 文字列 | ||
region * | AWS リージョン | 以下に接続する AWS リージョン | 文字列 |
| |
secretKey * | シークレットキー | AWS から取得したシークレットキー | 文字列 | ||
autoCreateQueue | 自動作成キュー | SQS キューの自動作成の設定。 | boolean |
| |
deleteAfterRead | メッセージの自動削除 | メッセージの使用後のメッセージの削除 | boolean |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
12.2. 依存関係
実行時には、aws-sqs-source
Kameletは以下の依存関係の存在に依存します。
- camel:aws2-sqs
- camel:core
- camel:kamelet
- camel:jackson
12.3. 使用法
ここでは、aws-sqs-source
の使用方法について説明します。
12.3.1. Knative Source
aws-sqs-source
KameletをKnativeオブジェクトにバインドすることで、Knativeのソースとして使用することができます。
aws-sqs-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: aws-sqs-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: aws-sqs-source properties: accessKey: "The Access Key" queueNameOrArn: "The Queue Name" region: "eu-west-1" secretKey: "The Secret Key" sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
12.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
12.3.1.2. クラスター CLI の使用手順
-
aws-sqs-source-binding.yaml
ファイルをローカルドライブに保存し、構成に応じて編集します。 以下のコマンドを使用してソースを実行します。
oc apply -f aws-sqs-source-binding.yaml
12.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してソースを設定および実行します。
kamel bind aws-sqs-source -p "source.accessKey=The Access Key" -p "source.queueNameOrArn=The Queue Name" -p "source.region=eu-west-1" -p "source.secretKey=The Secret Key" channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
12.3.2. Kafka Source
aws-sqs-source
KameletをKafkaのトピックにバインドすることで、Kafkaのソースとして使用することができます。
aws-sqs-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: aws-sqs-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: aws-sqs-source properties: accessKey: "The Access Key" queueNameOrArn: "The Queue Name" region: "eu-west-1" secretKey: "The Secret Key" sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
12.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
12.3.2.2. クラスター CLI の使用手順
-
aws-sqs-source-binding.yaml
ファイルをローカルドライブに保存し、構成に応じて編集します。 以下のコマンドを使用してソースを実行します。
oc apply -f aws-sqs-source-binding.yaml
12.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してソースを設定および実行します。
kamel bind aws-sqs-source -p "source.accessKey=The Access Key" -p "source.queueNameOrArn=The Queue Name" -p "source.region=eu-west-1" -p "source.secretKey=The Secret Key" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
12.4. Kamelet ソースファイル
第13章 AWS SQS FIFO Sink
AWS SQS FIFO キューへのメッセージの送信
13.1. 設定オプション
以下の表は、aws -sqs-fifo-sink
Kamelet で利用可能な設定オプションの概要を示しています。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
accessKey * | アクセスキー | AWS から取得したアクセスキー | 文字列 | ||
queueNameOrArn * | キュー名 | SQS キュー名または ARN。 | 文字列 | ||
region * | AWS リージョン | 以下に接続する AWS リージョン | 文字列 |
| |
secretKey * | シークレットキー | AWS から取得したシークレットキー | 文字列 | ||
autoCreateQueue | 自動作成キュー | SQS キューの自動作成の設定。 | boolean |
| |
contentBasedDeduplication | コンテンツベースの重複排除 | コンテンツベースの重複排除を使用する(最初に SQS FIFO キューで有効にしてください) | boolean |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
13.2. 依存関係
実行時に、aws -sqs-fifo-sink
Kamelet は、以下の依存関係の存在に依存します。
- camel:aws2-sqs
- camel:core
- camel:kamelet
13.3. 使用法
本セクションでは、aws -sqs-fifo-sink
を使用する方法を説明します。
13.3.1. Knative Sink
aws-sqs-fifo-sink
Kamelet を Knative シンクとして使用するには、これを Knative オブジェクトにバインドします。
aws-sqs-fifo-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: aws-sqs-fifo-sink-binding spec: source: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: aws-sqs-fifo-sink properties: accessKey: "The Access Key" queueNameOrArn: "The Queue Name" region: "eu-west-1" secretKey: "The Secret Key"
13.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
13.3.1.2. クラスター CLI の使用手順
-
aws-sqs-fifo-sink-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて編集します。 以下のコマンドを使用してシンクを実行します。
oc apply -f aws-sqs-fifo-sink-binding.yaml
13.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind channel:mychannel aws-sqs-fifo-sink -p "sink.accessKey=The Access Key" -p "sink.queueNameOrArn=The Queue Name" -p "sink.region=eu-west-1" -p "sink.secretKey=The Secret Key"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
13.3.2. Kafka Sink
aws-sqs-fifo-sink
Kamelet を Kafka シンクとして使用するには、これを Kafka トピックにバインドします。
aws-sqs-fifo-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: aws-sqs-fifo-sink-binding spec: source: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: aws-sqs-fifo-sink properties: accessKey: "The Access Key" queueNameOrArn: "The Queue Name" region: "eu-west-1" secretKey: "The Secret Key"
13.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
13.3.2.2. クラスター CLI の使用手順
-
aws-sqs-fifo-sink-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて編集します。 以下のコマンドを使用してシンクを実行します。
oc apply -f aws-sqs-fifo-sink-binding.yaml
13.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic aws-sqs-fifo-sink -p "sink.accessKey=The Access Key" -p "sink.queueNameOrArn=The Queue Name" -p "sink.region=eu-west-1" -p "sink.secretKey=The Secret Key"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
13.4. Kamelet ソースファイル
第14章 Cassandra Sink
Cassandra Sink Kamelet はテクノロジープレビュー機能です。テクノロジープレビュー機能は Red Hat の実稼働環境でのサービスレベルアグリーメント (SLA) ではサポートされていないため、Red Hat では実稼働環境での使用を推奨していません。Red Hat は実稼働環境でこれらを使用することを推奨していません。
このような機能は、近々発表予定の製品機能をリリースに先駆けてご提供します。これにより、お客様は機能性をテストし、開発プロセス中にフィードバックをお寄せいただくことができます。Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、https://access.redhat.com/support/offerings/techpreview を参照してください。
データを Cassandra クラスターに送信します。
この Kamelet はボディーを JSON アレイとして想定します。JSON アレイの内容は、クエリーパラメーターに設定された CQL Prepared Statement の入力として使用されます。
14.1. 設定オプション
次の表は、cassandra-sink
Kameletで使用できる構成オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
connectionHost * | 接続ホスト | Hostname(s) cassandra server(s).複数のホストはコンマで区切ることができます。 | 文字列 |
| |
connectionPort * | 接続ポート | cassandra サーバーのポート番号 | 文字列 |
| |
keyspace * | キースペース | 使用するキースペース | 文字列 |
| |
Password * | Password | セキュアな Cassandra クラスターへのアクセスに使用するパスワード | 文字列 | ||
preparedStatement * | 準備済みステートメント | Cassandra クラスターテーブルに対して実行する準備済みステートメント | 文字列 | ||
username * | Username | セキュアな Cassandra クラスターへのアクセスに使用するユーザー名 | 文字列 | ||
consistencyLevel | 一貫性レベル | 使用する一貫性レベル。値には、ANY、ONE、TWO、THREE、QUORUM、ALL、LOCAL_QUORUM、EACH_QUORUM、EACH_QUORUM、LOCAL_SERIAL、LOCAL_ONE のいずれかを指定できます。 | 文字列 |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
14.2. 依存関係
実行時に、cassandra-sink
Kameletは以下の依存関係の存在に依存します。
- camel:jackson
- camel:kamelet
- camel:cassandraql
14.3. 使用法
ここでは、cassandra-sink
の使用方法について説明します。
14.3.1. Knative Sink
cassandra-sink
KameletをKnativeオブジェクトにバインドすることで、Knativeのシンクとして使用することができます。
cassandra-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: cassandra-sink-binding spec: source: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: cassandra-sink properties: connectionHost: "localhost" connectionPort: 9042 keyspace: "customers" password: "The Password" preparedStatement: "The Prepared Statement" username: "The Username"
14.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
14.3.1.2. クラスター CLI の使用手順
-
cassandra-sink-binding.yaml
ファイルをローカル・ドライブに保存し、構成に合わせて必要な編集を行います。 以下のコマンドを使用してシンクを実行します。
oc apply -f cassandra-sink-binding.yaml
14.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind channel:mychannel cassandra-sink -p "sink.connectionHost=localhost" -p sink.connectionPort=9042 -p "sink.keyspace=customers" -p "sink.password=The Password" -p "sink.preparedStatement=The Prepared Statement" -p "sink.username=The Username"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
14.3.2. Kafka Sink
cassandra-sink
KameletをKafkaのトピックにバインドすることで、Kafkaのシンクとして使用することができます。
cassandra-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: cassandra-sink-binding spec: source: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: cassandra-sink properties: connectionHost: "localhost" connectionPort: 9042 keyspace: "customers" password: "The Password" preparedStatement: "The Prepared Statement" username: "The Username"
14.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
14.3.2.2. クラスター CLI の使用手順
-
cassandra-sink-binding.yaml
ファイルをローカル・ドライブに保存し、構成に合わせて必要な編集を行います。 以下のコマンドを使用してシンクを実行します。
oc apply -f cassandra-sink-binding.yaml
14.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic cassandra-sink -p "sink.connectionHost=localhost" -p sink.connectionPort=9042 -p "sink.keyspace=customers" -p "sink.password=The Password" -p "sink.preparedStatement=The Prepared Statement" -p "sink.username=The Username"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
14.4. Kamelet ソースファイル
第15章 Cassandra ソース
Cassandra Source Kamelet はテクノロジープレビュー機能です。テクノロジープレビュー機能は Red Hat の実稼働環境でのサービスレベルアグリーメント (SLA) ではサポートされていないため、Red Hat では実稼働環境での使用を推奨していません。Red Hat は実稼働環境でこれらを使用することを推奨していません。
このような機能は、近々発表予定の製品機能をリリースに先駆けてご提供します。これにより、お客様は機能性をテストし、開発プロセス中にフィードバックをお寄せいただくことができます。Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、https://access.redhat.com/support/offerings/techpreview を参照してください。
Cassandra クラスターテーブルをクエリーします。
15.1. 設定オプション
次の表は、cassandra-source
Kameletで利用できる設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
connectionHost * | 接続ホスト | Hostname(s) cassandra server(s).複数のホストはコンマで区切ることができます。 | 文字列 |
| |
connectionPort * | 接続ポート | cassandra サーバーのポート番号 | 文字列 |
| |
keyspace * | キースペース | 使用するキースペース | 文字列 |
| |
Password * | Password | セキュアな Cassandra クラスターへのアクセスに使用するパスワード | 文字列 | ||
query * | クエリー | Cassandra クラスターテーブルに対して実行するクエリー | 文字列 | ||
username * | Username | セキュアな Cassandra クラスターへのアクセスに使用するユーザー名 | 文字列 | ||
consistencyLevel | 一貫性レベル | 使用する一貫性レベル。値には、ANY、ONE、TWO、THREE、QUORUM、ALL、LOCAL_QUORUM、EACH_QUORUM、EACH_QUORUM、LOCAL_SERIAL、LOCAL_ONE のいずれかを指定できます。 | 文字列 |
| |
resultStrategy | 結果ストラテジー | クエリーの結果セットを変換するストラテジー。使用できる値は ALL、ONE、LIMIT_10、LIMIT_100... | 文字列 |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
15.2. 依存関係
起動時に、cassandra-source
Kamelet は、以下の依存関係の有無に依存します。
- camel:jackson
- camel:kamelet
- camel:cassandraql
15.3. 使用法
本セクションでは、cassandra-source
を使用する方法を説明します。
15.3.1. Knative Source
cassandra-source
KameletをKnativeオブジェクトにバインドすることで、Knativeソースとして使用することができます。
cassandra-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: cassandra-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: cassandra-source properties: connectionHost: "localhost" connectionPort: 9042 keyspace: "customers" password: "The Password" query: "The Query" username: "The Username" sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
15.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
15.3.1.2. クラスター CLI の使用手順
-
cassandra-source-binding.yaml
ファイルをローカル・ドライブに保存し、必要に応じて構成を編集します。 以下のコマンドを使用してソースを実行します。
oc apply -f cassandra-source-binding.yaml
15.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してソースを設定および実行します。
kamel bind cassandra-source -p "source.connectionHost=localhost" -p source.connectionPort=9042 -p "source.keyspace=customers" -p "source.password=The Password" -p "source.query=The Query" -p "source.username=The Username" channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
15.3.2. Kafka Source
cassandra-source
KameletをKafkaトピックにバインドすることで、Kafkaソースとして使用することができます。
cassandra-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: cassandra-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: cassandra-source properties: connectionHost: "localhost" connectionPort: 9042 keyspace: "customers" password: "The Password" query: "The Query" username: "The Username" sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
15.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
15.3.2.2. クラスター CLI の使用手順
-
cassandra-source-binding.yaml
ファイルをローカル・ドライブに保存し、必要に応じて構成を編集します。 以下のコマンドを使用してソースを実行します。
oc apply -f cassandra-source-binding.yaml
15.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してソースを設定および実行します。
kamel bind cassandra-source -p "source.connectionHost=localhost" -p source.connectionPort=9042 -p "source.keyspace=customers" -p "source.password=The Password" -p "source.query=The Query" -p "source.username=The Username" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
15.4. Kamelet ソースファイル
第16章 ElasticSearch Index Sink
ElasticSearch Index Kameletは、技術プレビューの機能のみです。テクノロジープレビュー機能は Red Hat の実稼働環境でのサービスレベルアグリーメント (SLA) ではサポートされていないため、Red Hat では実稼働環境での使用を推奨していません。Red Hat は実稼働環境でこれらを使用することを推奨していません。
このような機能は、近々発表予定の製品機能をリリースに先駆けてご提供します。これにより、お客様は機能性をテストし、開発プロセス中にフィードバックをお寄せいただくことができます。Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、https://access.redhat.com/support/offerings/techpreview を参照してください。
このシンクには、ドキュメントが ElasticSearch に保存されます。
入力データには、使用されるインデックスに応じて JSON 形式が必要です。
Kamelet には以下のヘッダーが必要です。
-
indexId
/ce-indexid
: ElasticsearchのインデックスIDとして。
ヘッダーが設定されていない場合、インデックスは ES クラスターによって生成されます。
-
indexName
/ce-indexname
: Elasticsearchのインデックス名として使用します。
このヘッダーが設定されていない場合は、camel-k-index-es
がインデックス名として使用されます。
16.1. 設定オプション
次の表は、elasticsearch-index-sink
Kameletで利用できる設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
clusterName * | ElasticSearch Cluster Name | クラスターの名前。 | 文字列 |
| |
hostAddresses * | ホストアドレス | 使用するリモートトランスポートアドレス(ip:port フォーマット)のコンマ区切りリスト。 | 文字列 |
| |
enableSSL | SSL の有効化 | SSL を使用して接続しますか? | boolean |
| |
indexName | ElasticSearch のインデックス | 動作させるインデックスの名前。 | 文字列 |
| |
password | Password | ElasticSearchに接続するためのパスワードです。 | 文字列 | ||
user | Username | ElasticSearch に接続するためのユーザー名。 | 文字列 |
アスタリスク(*)のマークが付いたフィールドは必須です。
16.2. 依存関係
実行時に、elasticsearch-index-sink
Kameletは以下の依存関係の存在に依存しています。
- camel:jackson
- camel:kamelet
- mvn:org.apache.camel.k:camel-k-kamelet-reify
- camel:elasticsearch-rest
- camel:gson
- camel:bean
16.3. 使用法
ここでは、elasticsearch-index-sink
の使用方法について説明します。
16.3.1. Knative Sink
elasticsearch-index-sink
KameletをKnativeオブジェクトにバインドすることで、Knativeのシンクとして使用することができます。
elasticsearch-index-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: elasticsearch-index-sink-binding spec: source: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: elasticsearch-index-sink properties: clusterName: "quickstart" hostAddresses: "quickstart-es-http:9200"
16.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
16.3.1.2. クラスター CLI の使用手順
-
elasticsearch-index-sink-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集してください。 以下のコマンドを使用してシンクを実行します。
oc apply -f elasticsearch-index-sink-binding.yaml
16.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind channel:mychannel elasticsearch-index-sink -p "sink.clusterName=quickstart" -p "sink.hostAddresses=quickstart-es-http:9200"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
16.3.2. Kafka Sink
elasticsearch-index-sink
KameletをKafkaのトピックにバインドすることで、Kafkaのシンクとして使用することができます。
elasticsearch-index-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: elasticsearch-index-sink-binding spec: source: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: elasticsearch-index-sink properties: clusterName: "quickstart" hostAddresses: "quickstart-es-http:9200"
16.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
16.3.2.2. クラスター CLI の使用手順
-
elasticsearch-index-sink-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集してください。 以下のコマンドを使用してシンクを実行します。
oc apply -f elasticsearch-index-sink-binding.yaml
16.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic elasticsearch-index-sink -p "sink.clusterName=quickstart" -p "sink.hostAddresses=quickstart-es-http:9200"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
16.4. Kamelet ソースファイル
第17章 フィールドアクションの抽出
ボディーからフィールドを抽出します。
17.1. 設定オプション
以下の表は、extract-field-action
Kamelet で利用可能な設定オプションの概要を示しています。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
field * | フィールド | 追加するフィールドの名前 | 文字列 |
アスタリスク(*)のマークが付いたフィールドは必須です。
17.2. 依存関係
実行時に、extract-field-action
Kamelet は、以下の依存関係の存在に依存します。
- mvn:org.apache.camel.kamelets:camel-kamelets-utils:1.0.0.fuse-800048-redhat-00001
- camel:kamelet
- camel:core
- camel:jackson
17.3. 使用法
本セクションでは、extract-field-action
を使用する方法を説明します。
17.3.1. Knative Action
extract-field-action
Kamelet を Knative バインディングの中間ステップとして使用できます。
extract-field-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: extract-field-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: extract-field-action properties: field: "The Field" sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
17.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
17.3.1.2. クラスター CLI の使用手順
-
extract-field-action-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f extract-field-action-binding.yaml
17.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step extract-field-action -p "step-0.field=The Field" channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
17.3.2. Kafka Action
extract-field-action
Kamelet を Kafka バインディングの中間ステップとして使用できます。
extract-field-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: extract-field-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: extract-field-action properties: field: "The Field" sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
17.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
17.3.2.2. クラスター CLI の使用手順
-
extract-field-action-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f extract-field-action-binding.yaml
17.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step extract-field-action -p "step-0.field=The Field" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
17.4. Kamelet ソースファイル
第18章 FTP Sink
データを FTP サーバーに送信します。
Kamelet では、以下のヘッダーが設定されていることを想定しています。
-
file
/ce-file
: アップロードするファイル名として
ヘッダーが設定されていない場合、エクスチェンジ ID はファイル名として使用されます。
18.1. 設定オプション
次の表は、ftp-sink
Kamelet で利用可能な設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
connectionHost * | 接続ホスト | FTP サーバーのホスト名 | 文字列 | ||
connectionPort * | 接続ポート | FTP サーバーのポート | 文字列 |
| |
directoryName * | ディレクトリー名 | 開始ディレクトリー | 文字列 | ||
Password * | Password | FTPサーバーにアクセスするためのパスワード | 文字列 | ||
username * | Username | FTP サーバーにアクセスするためのユーザー名 | 文字列 | ||
fileExist | ファイルの存在 | すでにファイルが存在する場合にどのように動作するか。列挙は 4 つあり、値は Override、Append、Fail または Ignore のいずれかです。 | 文字列 |
| |
passiveMode | パッシブモード | パッシブモード接続の設定 | boolean |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
18.2. 依存関係
起動時に、ftp-sink
Kamelet は、以下の依存関係の有無に依存します。
- camel:ftp
- camel:core
- camel:kamelet
18.3. 使用法
本セクションでは、ftp-sink
を使用する方法を説明します。
18.3.1. Knative Sink
ftp-sink
Kamelet を Knative オブジェクトにバインドすることにより、Knative シンクとして使用できます。
ftp-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: ftp-sink-binding spec: source: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: ftp-sink properties: connectionHost: "The Connection Host" directoryName: "The Directory Name" password: "The Password" username: "The Username"
18.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
18.3.1.2. クラスター CLI の使用手順
-
ftp-sink-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせてこれを編集します。 以下のコマンドを使用してシンクを実行します。
oc apply -f ftp-sink-binding.yaml
18.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind channel:mychannel ftp-sink -p "sink.connectionHost=The Connection Host" -p "sink.directoryName=The Directory Name" -p "sink.password=The Password" -p "sink.username=The Username"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
18.3.2. Kafka Sink
ftp-sink
Kamelet を Kafka トピックにバインドすることにより、Kafka シンクとして使用できます。
ftp-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: ftp-sink-binding spec: source: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: ftp-sink properties: connectionHost: "The Connection Host" directoryName: "The Directory Name" password: "The Password" username: "The Username"
18.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
18.3.2.2. クラスター CLI の使用手順
-
ftp-sink-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせてこれを編集します。 以下のコマンドを使用してシンクを実行します。
oc apply -f ftp-sink-binding.yaml
18.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic ftp-sink -p "sink.connectionHost=The Connection Host" -p "sink.directoryName=The Directory Name" -p "sink.password=The Password" -p "sink.username=The Username"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
18.4. Kamelet ソースファイル
第19章 FTP ソース
FTP サーバーからデータを受信します。
19.1. 設定オプション
以下の表は、ftp-source
Kamelet で利用可能な設定オプションをまとめています。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
connectionHost * | 接続ホスト | FTP サーバーのホスト名 | 文字列 | ||
connectionPort * | 接続ポート | FTP サーバーのポート | 文字列 |
| |
directoryName * | ディレクトリー名 | 開始ディレクトリー | 文字列 | ||
Password * | Password | FTPサーバーにアクセスするためのパスワード | 文字列 | ||
username * | Username | FTP サーバーにアクセスするためのユーザー名 | 文字列 | ||
idempotent | 冪等性 | 処理されたファイルを省略します。 | boolean |
| |
passiveMode | パッシブモード | パッシブモード接続の設定 | boolean |
| |
再帰 | 再帰 | ディレクトリーの場合は、すべてのサブディレクトリー内のファイルも検索します。 | boolean |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
19.2. 依存関係
起動時に、ftp-source
Kamelet は、以下の依存関係の有無に依存します。
- camel:ftp
- camel:core
- camel:kamelet
19.3. 使用法
本セクションでは、ftp-source
を使用する方法を説明します。
19.3.1. Knative Source
ftp-source
KameletをKnativeオブジェクトにバインドすることで、Knativeのソースとして使用することができます。
ftp-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: ftp-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: ftp-source properties: connectionHost: "The Connection Host" directoryName: "The Directory Name" password: "The Password" username: "The Username" sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
19.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
19.3.1.2. クラスター CLI の使用手順
-
ftp-source-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集してください。 以下のコマンドを使用してソースを実行します。
oc apply -f ftp-source-binding.yaml
19.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してソースを設定および実行します。
kamel bind ftp-source -p "source.connectionHost=The Connection Host" -p "source.directoryName=The Directory Name" -p "source.password=The Password" -p "source.username=The Username" channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
19.3.2. Kafka Source
ftp-source
KameletをKafkaのトピックにバインドすることで、Kafkaのソースとして使用することができます。
ftp-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: ftp-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: ftp-source properties: connectionHost: "The Connection Host" directoryName: "The Directory Name" password: "The Password" username: "The Username" sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
19.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
19.3.2.2. クラスター CLI の使用手順
-
ftp-source-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集してください。 以下のコマンドを使用してソースを実行します。
oc apply -f ftp-source-binding.yaml
19.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してソースを設定および実行します。
kamel bind ftp-source -p "source.connectionHost=The Connection Host" -p "source.directoryName=The Directory Name" -p "source.password=The Password" -p "source.username=The Username" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
19.4. Kamelet ソースファイル
第20章 Has Header Filter Action
1 つのヘッダーの有無に基づくフィルター
20.1. 設定オプション
以下の表では、has-header-filter-action
Kamelet で利用可能な設定オプションをまとめています。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
name * | ヘッダー名 |
評価するヘッダー名。ヘッダー名は、ソース Kamelet で渡す必要があります。Knative のみ、ヘッダーの名前には CloudEvent( | 文字列 |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
20.2. 依存関係
ランタイム時に、has-header-filter-action
Kamelet は、以下の依存関係の有無に依存します。
- camel:core
- camel:kamelet
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 を作成します。
20.4. Kamelet ソースファイル
第21章 Hoist フィールドアクション
単一フィールドにデータをラップします。
21.1. 設定オプション
以下の表は、ho ist-field-action
Kamelet で利用可能な設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
field * | フィールド | イベントが含まれるフィールドの名前 | 文字列 |
アスタリスク(*)のマークが付いたフィールドは必須です。
21.2. 依存関係
実行時に、ho ist-field-action
Kamelet は、以下の依存関係の存在に依存します。
- mvn:org.apache.camel.kamelets:camel-kamelets-utils:1.0.0.fuse-800048-redhat-00001
- camel:core
- camel:jackson
- camel:kamelet
21.3. 使用法
本セクションでは、ho ist-field-action
を使用する方法を説明します。
21.3.1. Knative Action
hoist-field-action
Kamelet を Knative バインディングの中間ステップとして使用できます。
hoist-field-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: hoist-field-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: hoist-field-action properties: field: "The Field" sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
21.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
21.3.1.2. クラスター CLI の使用手順
-
hoist-field-action-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f hoist-field-action-binding.yaml
21.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step hoist-field-action -p "step-0.field=The Field" channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
21.3.2. Kafka Action
hoist-field-action
Kamelet を Kafka バインディングの中間ステップとして使用できます。
hoist-field-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: hoist-field-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: hoist-field-action properties: field: "The Field" sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
21.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
21.3.2.2. クラスター CLI の使用手順
-
hoist-field-action-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f hoist-field-action-binding.yaml
21.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step hoist-field-action -p "step-0.field=The Field" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
21.4. Kamelet ソースファイル
第22章 HTTP Sink
イベントの HTTP エンドポイントへの転送
22.1. 設定オプション
次の表は、http-sink
Kameletで利用できる設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
url * | URL | データの送信先となる URL | 文字列 |
| |
method | メソッド | 使用する HTTP メソッド | 文字列 |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
22.2. 依存関係
実行時には、http-sink
Kameletは以下の依存関係の存在に依存します。
- camel:http
- camel:kamelet
- camel:core
22.3. 使用法
ここでは、http-sink
の使用方法について説明します。
22.3.1. Knative Sink
http-sink
Kamelet を Knative オブジェクトにバインドし、Knative シンクとして使用できます。
http-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: http-sink-binding spec: source: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: http-sink properties: url: "https://my-service/path"
22.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
22.3.1.2. クラスター CLI の使用手順
-
http-sink-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせてこれを編集します。 以下のコマンドを使用してシンクを実行します。
oc apply -f http-sink-binding.yaml
22.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind channel:mychannel http-sink -p "sink.url=https://my-service/path"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
22.3.2. Kafka Sink
http-sink
Kamelet を Kafka トピックにバインドすることにより、Kafka シンクとして使用できます。
http-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: http-sink-binding spec: source: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: http-sink properties: url: "https://my-service/path"
22.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
22.3.2.2. クラスター CLI の使用手順
-
http-sink-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせてこれを編集します。 以下のコマンドを使用してシンクを実行します。
oc apply -f http-sink-binding.yaml
22.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic http-sink -p "sink.url=https://my-service/path"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
22.4. Kamelet ソースファイル
第23章 フィールドアクションの挿入
転送中のメッセージに定数値を持つカスタムフィールドを追加します。
23.1. 設定オプション
以下の表では、insert-field-action
Kamelet で利用可能な設定オプションをまとめています。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
field * | フィールド | 追加するフィールドの名前 | 文字列 | ||
value * | 値 | フィールドの値 | 文字列 |
アスタリスク(*)のマークが付いたフィールドは必須です。
23.2. 依存関係
実行時に、insert-field-action
Kameletは以下の依存関係の存在に依存します。
- mvn:org.apache.camel.kamelets:camel-kamelets-utils:1.0.0.fuse-800048-redhat-00001
- camel:core
- camel:jackson
- camel:kamelet
23.3. 使用法
ここでは、insert-field-action
の使用方法について説明します。
23.3.1. Knative Action
insert-field-action
Kameletは、Knativeバインディングの中間ステップとして使用できます。
insert-field-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: insert-field-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-field-action properties: field: "The Field" value: "The Value" sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
23.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
23.3.1.2. クラスター CLI の使用手順
-
insert-field-action-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f insert-field-action-binding.yaml
23.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step insert-field-action -p "step-0.field=The Field" -p "step-0.value=The Value" channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
23.3.2. Kafka Action
insert-field-action
Kamelet は、Kafka バインディングの中間ステップとして使用できます。
insert-field-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: insert-field-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-field-action properties: field: "The Field" value: "The Value" sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
23.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
23.3.2.2. クラスター CLI の使用手順
-
insert-field-action-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f insert-field-action-binding.yaml
23.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step insert-field-action -p "step-0.field=The Field" -p "step-0.value=The Value" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
23.4. Kamelet ソースファイル
第24章 ヘッダーアクションの挿入
定数値を持つヘッダーをトランジットのメッセージに追加します。
24.1. 設定オプション
以下の表では、insert-header-action
Kamelet で利用可能な設定オプションをまとめています。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
name * | 名前 |
追加するヘッダーの名前。Knative のみ、ヘッダーの名前には CloudEvent( | 文字列 | ||
value * | 値 | ヘッダーの値 | 文字列 |
アスタリスク(*)のマークが付いたフィールドは必須です。
24.2. 依存関係
ランタイム時に、insert-header-action
Kamelet は、以下の依存関係の有無に依存します。
- camel:core
- camel:kamelet
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 を作成します。
24.4. Kamelet ソースファイル
第25章 Is Tombstone Filter Action
ボディーの存在に基づくフィルター
25.1. 設定オプション
is-tombstone-filter-action
Kamelet は設定オプションを指定しません。
25.2. 依存関係
実行時、is-tombstone-filter-action
Kameletは、以下の依存関係の存在に依存しています。
- camel:core
- camel:kamelet
25.3. 使用法
ここでは、is-tombstone-filter-action
の使用方法について説明します。
25.3.1. Knative Action
is-tombstone-filter-action
Kameletは、Knativeバインディングの中間ステップとして使用できます。
is-tombstone-filter-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: is-tombstone-filter-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: is-tombstone-filter-action sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
25.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
25.3.1.2. クラスター CLI の使用手順
-
is-tombstone-filter-action-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f is-tombstone-filter-action-binding.yaml
25.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step is-tombstone-filter-action channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
25.3.2. Kafka Action
is-tombstone-filter-action
KameletをKafkaバインディングの中間ステップとして使用することができます。
is-tombstone-filter-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: is-tombstone-filter-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: is-tombstone-filter-action sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
25.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
25.3.2.2. クラスター CLI の使用手順
-
is-tombstone-filter-action-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f is-tombstone-filter-action-binding.yaml
25.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step is-tombstone-filter-action kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
25.4. Kamelet ソースファイル
第26章 JIRA ソース
Jira Source Kamelet はテクノロジープレビュー機能です。テクノロジープレビュー機能は Red Hat の実稼働環境でのサービスレベルアグリーメント (SLA) ではサポートされていないため、Red Hat では実稼働環境での使用を推奨していません。Red Hat は実稼働環境でこれらを使用することを推奨していません。
このような機能は、近々発表予定の製品機能をリリースに先駆けてご提供します。これにより、お客様は機能性をテストし、開発プロセス中にフィードバックをお寄せいただくことができます。Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、https://access.redhat.com/support/offerings/techpreview を参照してください。
Jira から新しい問題に関する通知を受け取ります。
26.1. 設定オプション
次の表は、jira-source
Kamelet で利用可能な設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
jiraUrl * | Jira URL | Jira インスタンスの URL | 文字列 |
| |
Password * | Password | Jira にアクセスするためのパスワード | 文字列 | ||
username * | Username | Jira にアクセスするためのユーザー名 | 文字列 | ||
jql | JQL | 問題をフィルターするクエリー | 文字列 |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
26.2. 依存関係
ランタイム時に、jira-source
Kamelet は以下の依存関係の有無に依存します。
- camel:jackson
- camel:kamelet
- camel:jira
26.3. 使用法
ここでは、jira-source
の使用方法について説明します。
26.3.1. Knative Source
jira-source
KameletをKnativeオブジェクトにバインドすることで、Knativeのソースとして使用することができます。
jira-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: jira-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: jira-source properties: jiraUrl: "http://my_jira.com:8081" password: "The Password" username: "The Username" sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
26.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
26.3.1.2. クラスター CLI の使用手順
-
jira-source-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集します。 以下のコマンドを使用してソースを実行します。
oc apply -f jira-source-binding.yaml
26.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してソースを設定および実行します。
kamel bind jira-source -p "source.jiraUrl=http://my_jira.com:8081" -p "source.password=The Password" -p "source.username=The Username" channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
26.3.2. Kafka Source
jira-source
Kamelet を Kafka トピックにバインドすることにより、Kafka のソースとして使用できます。
jira-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: jira-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: jira-source properties: jiraUrl: "http://my_jira.com:8081" password: "The Password" username: "The Username" sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
26.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
26.3.2.2. クラスター CLI の使用手順
-
jira-source-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集します。 以下のコマンドを使用してソースを実行します。
oc apply -f jira-source-binding.yaml
26.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してソースを設定および実行します。
kamel bind jira-source -p "source.jiraUrl=http://my_jira.com:8081" -p "source.password=The Password" -p "source.username=The Username" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
26.4. Kamelet ソースファイル
第27章 JMS: AMQP 1.0 Kamelet Sink
Apache Qpid JMS クライアントを使用して、任意の AMQP 1.0 準拠のメッセージブローカーにイベントを生成できる Kamelet
27.1. 設定オプション
次の表は、jms-amqp-10-sink
Kameletで利用可能な設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
destinationName * | 宛先名 | JMS 宛先名 | 文字列 | ||
remoteURI * | ブローカーの URL | JMS URL | 文字列 |
| |
destinationType | 宛先タイプ | JMS 宛先タイプ(例: キューまたはトピック) | 文字列 |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
27.2. 依存関係
jms-amqp-10-sink
Kameletは、実行時に以下の依存関係の存在に依存します。
- camel:jms
- camel:kamelet
- mvn:org.apache.qpid:qpid-jms-client:0.55.0
27.3. 使用法
本セクションでは、jms -amqp-10-sink
の使用方法を説明します。
27.3.1. Knative Sink
jms-amqp-10-sink
Kamelet を Knative オブジェクトにバインドし、これを Knative シンクとして使用できます。
jms-amqp-10-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: jms-amqp-10-sink-binding spec: source: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: jms-amqp-10-sink properties: destinationName: "The Destination Name" remoteURI: "amqp://my-host:31616"
27.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
27.3.1.2. クラスター CLI の使用手順
-
jms-amqp-10-sink-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集してください。 以下のコマンドを使用してシンクを実行します。
oc apply -f jms-amqp-10-sink-binding.yaml
27.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind channel:mychannel jms-amqp-10-sink -p "sink.destinationName=The Destination Name" -p "sink.remoteURI=amqp://my-host:31616"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
27.3.2. Kafka Sink
jms-amqp-10-sink
Kamelet を Kafka シンクとして使用することは、Kafka トピックにバインドします。
jms-amqp-10-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: jms-amqp-10-sink-binding spec: source: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: jms-amqp-10-sink properties: destinationName: "The Destination Name" remoteURI: "amqp://my-host:31616"
27.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
27.3.2.2. クラスター CLI の使用手順
-
jms-amqp-10-sink-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集してください。 以下のコマンドを使用してシンクを実行します。
oc apply -f jms-amqp-10-sink-binding.yaml
27.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic jms-amqp-10-sink -p "sink.destinationName=The Destination Name" -p "sink.remoteURI=amqp://my-host:31616"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
27.4. Kamelet ソースファイル
第28章 JMS: AMQP 1.0 Kamelet ソース
Apache Qpid JMS クライアントを使用して、どの AMQP 1.0 準拠メッセージブローカーからのイベントを消費できる Kamelet
28.1. 設定オプション
次の表は、jms-amqp-10-source
Kameletで利用可能な設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
destinationName * | 宛先名 | JMS 宛先名 | 文字列 | ||
remoteURI * | ブローカーの URL | JMS URL | 文字列 |
| |
destinationType | 宛先タイプ | JMS 宛先タイプ(例: キューまたはトピック) | 文字列 |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
28.2. 依存関係
jms-amqp-10-source
Kameletは、実行時に以下の依存関係の存在に依存します。
- camel:jms
- camel:kamelet
- mvn:org.apache.qpid:qpid-jms-client:0.55.0
28.3. 使用法
ここでは、jms-amqp-10-source
の使用方法について説明します。
28.3.1. Knative Source
jms-amqp-10-source
KameletをKnativeオブジェクトにバインドすることで、Knativeのソースとして使用することができます。
jms-amqp-10-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: jms-amqp-10-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: jms-amqp-10-source properties: destinationName: "The Destination Name" remoteURI: "amqp://my-host:31616" sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
28.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
28.3.1.2. クラスター CLI の使用手順
-
jms-amqp-10-source-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせてこれを編集します。 以下のコマンドを使用してソースを実行します。
oc apply -f jms-amqp-10-source-binding.yaml
28.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してソースを設定および実行します。
kamel bind jms-amqp-10-source -p "source.destinationName=The Destination Name" -p "source.remoteURI=amqp://my-host:31616" channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
28.3.2. Kafka Source
jms-amqp-10-source
Kamelet を Kafka トピックにバインドすることにより、Kafka ソースとして使用できます。
jms-amqp-10-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: jms-amqp-10-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: jms-amqp-10-source properties: destinationName: "The Destination Name" remoteURI: "amqp://my-host:31616" sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
28.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
28.3.2.2. クラスター CLI の使用手順
-
jms-amqp-10-source-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせてこれを編集します。 以下のコマンドを使用してソースを実行します。
oc apply -f jms-amqp-10-source-binding.yaml
28.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してソースを設定および実行します。
kamel bind jms-amqp-10-source -p "source.destinationName=The Destination Name" -p "source.remoteURI=amqp://my-host:31616" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
28.4. Kamelet ソースファイル
第29章 JSON デシリアライズアクション
ペイロードを JSON にデシリアライズ
29.1. 設定オプション
json-deserialize-action
Kamelet は設定オプションを指定しません。
29.2. 依存関係
json-deserialize-action
Kameletは、実行時に以下の依存関係の存在に依存しています。
- camel:kamelet
- camel:core
- camel:jackson
29.3. 使用法
ここでは、Json-deserialize-action
の使い方を説明します。
29.3.1. Knative Action
json-deserialize-action
Kameletは、Knativeバインディングの中間ステップとして使用できます。
json-deserialize-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: json-deserialize-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: json-deserialize-action sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
29.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
29.3.1.2. クラスター CLI の使用手順
-
json-deserialize-action-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集してください。 以下のコマンドを使用して、アクションを実行します。
oc apply -f json-deserialize-action-binding.yaml
29.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step json-deserialize-action channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
29.3.2. Kafka Action
json-deserialize-action
Kameletは、Kafkaバインディングの中間ステップとして使用することができます。
json-deserialize-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: json-deserialize-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: json-deserialize-action sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
29.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
29.3.2.2. クラスター CLI の使用手順
-
json-deserialize-action-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集してください。 以下のコマンドを使用して、アクションを実行します。
oc apply -f json-deserialize-action-binding.yaml
29.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step json-deserialize-action kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
29.4. Kamelet ソースファイル
第30章 JSON シリアルアクション
ペイロードを JSON にシリアライズする
30.1. 設定オプション
json-serialize-action
Kamelet は設定オプションを指定しません。
30.2. 依存関係
実行時に、json-serialize-action
Kameletは以下の依存関係の存在に依存します。
- camel:kamelet
- camel:core
- camel:jackson
30.3. 使用法
ここでは、json-serialize-action
の使い方を説明します。
30.3.1. Knative Action
json-serialize-action
Kameletは、Knativeのバインディングの中間ステップとして使用することができます。
json-serialize-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: json-serialize-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: json-serialize-action sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
30.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
30.3.1.2. クラスター CLI の使用手順
-
json-serialize-action-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集してください。 以下のコマンドを使用して、アクションを実行します。
oc apply -f json-serialize-action-binding.yaml
30.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step json-serialize-action channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
30.3.2. Kafka Action
json-serialize-action
Kameletは、Kafkaバインディングの中間ステップとして使用することができます。
json-serialize-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: json-serialize-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: json-serialize-action sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
30.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
30.3.2.2. クラスター CLI の使用手順
-
json-serialize-action-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集してください。 以下のコマンドを使用して、アクションを実行します。
oc apply -f json-serialize-action-binding.yaml
30.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step json-serialize-action kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
30.4. Kamelet ソースファイル
第31章 Kafka Sink
データを Kafka トピックに送信します。
Kamelet は、設定するヘッダーについて理解することができます。
-
key
/ce-key
: メッセージキーとして -
partition-key
/ce-partitionkey
: メッセージパーティションキーとして
ヘッダーはいずれもオプションです。
31.1. 設定オプション
次の表は、kafka-sink
Kameletで利用できる設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
bootstrapServers * | ブローカー | Kafka Broker URL のコンマ区切りリスト | 文字列 | ||
Password * | Password | kafka に対して認証を行うためのパスワード | 文字列 | ||
Topic * | トピック名 | Kafka トピック名のコンマ区切りリスト | 文字列 | ||
user * | Username | Kafka に対して認証を行うためのユーザー名 | 文字列 | ||
saslMechanism | SASL メカニズム | 使用される Simple Authentication and Security Layer(SASL)メカニズム。 | 文字列 |
| |
securityProtocol | セキュリティープロトコル | ブローカーとの通信に使用されるプロトコル。SASL_PLAINTEXT、PLAINTEXT、SASL_SSL、および SSL がサポートされます。 | 文字列 |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
31.2. 依存関係
「kafka-sink Kamelet」は、以下の依存関係の有無に依存します。
- camel:kafka
- camel:kamelet
31.3. 使用法
ここでは、kafka-sink
の使用方法について説明します。
31.3.1. Knative Sink
kafka-sink
KameletをKnativeのオブジェクトにバインドすることで、Knativeのシンクとして使用することができます。
kafka-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: kafka-sink-binding spec: source: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: kafka-sink properties: bootstrapServers: "The Brokers" password: "The Password" topic: "The Topic Names" user: "The Username"
31.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
31.3.1.2. クラスター CLI の使用手順
-
kafka-sink-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集してください。 以下のコマンドを使用してシンクを実行します。
oc apply -f kafka-sink-binding.yaml
31.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind channel:mychannel kafka-sink -p "sink.bootstrapServers=The Brokers" -p "sink.password=The Password" -p "sink.topic=The Topic Names" -p "sink.user=The Username"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
31.3.2. Kafka Sink
kafka-sink
Kamelet を Kafka トピックにバインドすることにより、Kafka シンクとして使用できます。
kafka-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: kafka-sink-binding spec: source: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: kafka-sink properties: bootstrapServers: "The Brokers" password: "The Password" topic: "The Topic Names" user: "The Username"
31.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
31.3.2.2. クラスター CLI の使用手順
-
kafka-sink-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集してください。 以下のコマンドを使用してシンクを実行します。
oc apply -f kafka-sink-binding.yaml
31.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic kafka-sink -p "sink.bootstrapServers=The Brokers" -p "sink.password=The Password" -p "sink.topic=The Topic Names" -p "sink.user=The Username"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
31.4. Kamelet ソースファイル
第32章 Kafka Source
Kafka トピックからデータを受信します。
32.1. 設定オプション
次の表は、kafka-source
Kameletで利用できる設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
Topic * | トピック名 | Kafka トピック名のコンマ区切りリスト | 文字列 | ||
bootstrapServers * | ブローカー | Kafka Broker URL のコンマ区切りリスト | 文字列 | ||
securityProtocol | セキュリティープロトコル | ブローカーとの通信に使用されるプロトコル。SASL_PLAINTEXT、PLAINTEXT、SASL_SSL、および SSL がサポートされます。 | 文字列 |
| |
saslMechanism | SASL メカニズム | 使用される Simple Authentication and Security Layer(SASL)メカニズム。 | 文字列 |
| |
user * | Username | Kafka に対して認証を行うためのユーザー名 | 文字列 | ||
Password * | Password | kafka に対して認証を行うためのパスワード | 文字列 | ||
autoCommitEnable | 自動コミットの有効化 | true の場合、コンシューマーによってすでにフェッチされたメッセージのオフセットを ZooKeeper に定期的にコミットします。 | boolean |
| |
allowManualCommit | 手動コミットを許可する | 手動コミットを許可するかどうか。 | boolean |
| |
autoOffsetReset | 自動オフセットリセット | 初期オフセットがない場合のアクション。列挙は 3 つあり、値は latest、earliest、none のいずれかです。 | 文字列 |
| |
pollOnError | poll On エラー動作 | 新しいメッセージのポーリング中に、kafka が例外をスローした場合のアクション。5 つの列挙があり、値は DISCARD、ERROR_HANDLER、RECONNECT、RETRY、STOP のいずれかです。 | 文字列 |
| |
deserializeHeaders | ヘッダーの自動デシリアライズ |
Kamelet ソースを有効にすると、すべてのメッセージヘッダーが String 表現にデシリアライズされます。デフォルトは | boolean |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
32.2. 依存関係
実行時に、`kafka-source Kamelet は以下の依存関係の存在に依存します。
- camel:kafka
- camel:kamelet
- camel:core
32.3. 使用法
ここでは、kafka-source
の使用方法について説明します。
32.3.1. Knative Source
kafka-source
KameletをKnativeオブジェクトにバインドすることで、Knativeのソースとして使用することができます。
kafka-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: kafka-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: kafka-source properties: bootstrapServers: "The Brokers" password: "The Password" topic: "The Topic Names" user: "The Username" sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
32.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
32.3.1.2. クラスター CLI の使用手順
-
kafka-source-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせて編集します。 以下のコマンドを使用してソースを実行します。
oc apply -f kafka-source-binding.yaml
32.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してソースを設定および実行します。
kamel bind kafka-source -p "source.bootstrapServers=The Brokers" -p "source.password=The Password" -p "source.topic=The Topic Names" -p "source.user=The Username" channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
32.3.2. Kafka Source
kafka-source
Kamelet を Kafka トピックにバインドすることにより、Kafka のソースとして使用できます。
kafka-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: kafka-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: kafka-source properties: bootstrapServers: "The Brokers" password: "The Password" topic: "The Topic Names" user: "The Username" sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
32.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
32.3.2.2. クラスター CLI の使用手順
-
kafka-source-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせて編集します。 以下のコマンドを使用してソースを実行します。
oc apply -f kafka-source-binding.yaml
32.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してソースを設定および実行します。
kamel bind kafka-source -p "source.bootstrapServers=The Brokers" -p "source.password=The Password" -p "source.topic=The Topic Names" -p "source.user=The Username" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
32.4. Kamelet ソースファイル
第33章 Kafka Topic Name の Filter アクション
正規表現と比較した kafka トピック値に基づくフィルター
33.1. 設定オプション
次の表は、topic-nam-matches-filter-action
Kameletで利用可能な設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
regex * | Regex | Kafka トピック名に対して評価する Regex | 文字列 |
アスタリスク(*)のマークが付いたフィールドは必須です。
33.2. 依存関係
ランタイム時に、topic-name-matches-filter-action
Kamelet は、以下の依存関係の有無に依存します。
- camel:core
- camel:kamelet
33.3. 使用法
本セクションでは、topic-name-matches-filter-action
を使用する方法を説明します。
33.3.1. Knative Action
topic-name-matches-filter-action
Kamelet を Knative バインディングの中間ステップとして使用することができます。
topic-name-matches-filter-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: topic-name-matches-filter-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: topic-name-matches-filter-action properties: regex: "The Regex" sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
33.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
33.3.1.2. クラスター CLI の使用手順
-
topic-name-matches-filter-action-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせて編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f topic-name-matches-filter-action-binding.yaml
33.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step topic-name-matches-filter-action -p "step-0.regex=The Regex" channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
33.3.2. Kafka Action
topic-name-matches-filter-action
Kamelet を Kafka バインディングの中間ステップとして使用することができます。
topic-name-matches-filter-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: topic-name-matches-filter-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: topic-name-matches-filter-action properties: regex: "The Regex" sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
33.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
33.3.2.2. クラスター CLI の使用手順
-
topic-name-matches-filter-action-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせて編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f topic-name-matches-filter-action-binding.yaml
33.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step topic-name-matches-filter-action -p "step-0.regex=The Regex" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
33.4. Kamelet ソースファイル
第34章 Log Sink
受信するすべてのデータをログに記録するシンクは、デバッグに役立ちます。
34.1. 設定オプション
以下の表は、log-sink
Kamelet で利用可能な設定オプションの概要を示しています。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
showHeaders | show Headers | 受信したヘッダーを表示します。 | boolean |
| |
showStreams | Streams を表示 | ストリーム本文を表示します(以下の手順では利用できない場合があります)。 | boolean |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
34.2. 依存関係
ランタイム時に、log-sink
Kamelet は、以下の依存関係の有無に依存します。
- camel:kamelet
- camel:log
34.3. 使用法
本セクションでは、log-sink
を使用する方法について説明します。
34.3.1. Knative Sink
log-sink
Kamelet を Knative オブジェクトにバインドし、Knative シンクとして使用できます。
log-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: log-sink-binding spec: source: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: log-sink
34.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
34.3.1.2. クラスター CLI の使用手順
-
log-sink-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせてこれを編集します。 以下のコマンドを使用してシンクを実行します。
oc apply -f log-sink-binding.yaml
34.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind channel:mychannel log-sink
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
34.3.2. Kafka Sink
log-sink
Kamelet を Kafka トピックにバインドすることにより、Kafka シンクとして使用できます。
log-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: log-sink-binding spec: source: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: log-sink
34.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
34.3.2.2. クラスター CLI の使用手順
-
log-sink-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせてこれを編集します。 以下のコマンドを使用してシンクを実行します。
oc apply -f log-sink-binding.yaml
34.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic log-sink
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
34.4. Kamelet ソースファイル
第35章 MariaDB Sink
MariaDB データベースにデータを送信します。
この Kamelet は JSON をボディーとして想定します。JSON フィールドとパラメーター間のマッピングはキーで実行されるため、以下のクエリーがある場合は以下を実行します。
'INSERT INTO accounts (username,city) VALUES (:#username,:#city)'
Kamelet は、以下のような入力として受信する必要があります。
'{ "username":"oscerd", "city":"Rome"}'
35.1. 設定オプション
以下の表は、mariadb-sink
Kamelet で利用可能な設定オプションの概要を示しています。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
databaseName * | データベース名 | ポイントするデータベース名 | 文字列 | ||
Password * | Password | セキュアな MariaDB データベースへのアクセスに使用するパスワード | 文字列 | ||
query * | クエリー | MariaDB データベースに対して実行するクエリー | 文字列 |
| |
serverName * | サーバー名 | データソースのサーバー名 | 文字列 |
| |
username * | Username | セキュアな MariaDB データベースへのアクセスに使用するユーザー名 | 文字列 | ||
serverPort | サーバーポート | データソースのサーバーポート | 文字列 |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
35.2. 依存関係
ランタイム時に、mariadb-sink
Kamelet は、以下の依存関係の存在に依存します。
- camel:jackson
- camel:kamelet
- camel:sql
- mvn:org.apache.commons:commons-dbcp2:2.7.0
- mvn:org.mariadb.jdbc:mariadb-java-client
35.3. 使用法
本セクションでは、mariadb-sink
を使用する方法を説明します。
35.3.1. Knative Sink
mariadb-sink
Kamelet を Knative シンクとして使用するには、これを Knative オブジェクトにバインドします。
mariadb-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: mariadb-sink-binding spec: source: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: mariadb-sink properties: databaseName: "The Database Name" password: "The Password" query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)" serverName: "localhost" username: "The Username"
35.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
35.3.1.2. クラスター CLI の使用手順
-
mariadb-sink-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて編集します。 以下のコマンドを使用してシンクを実行します。
oc apply -f mariadb-sink-binding.yaml
35.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind channel:mychannel mariadb-sink -p "sink.databaseName=The Database Name" -p "sink.password=The Password" -p "sink.query=INSERT INTO accounts (username,city) VALUES (:#username,:#city)" -p "sink.serverName=localhost" -p "sink.username=The Username"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
35.3.2. Kafka Sink
mariadb-sink
Kamelet を Kafka トピックにバインドすると、Kafka シンクとして使用できます。
mariadb-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: mariadb-sink-binding spec: source: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: mariadb-sink properties: databaseName: "The Database Name" password: "The Password" query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)" serverName: "localhost" username: "The Username"
35.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
35.3.2.2. クラスター CLI の使用手順
-
mariadb-sink-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて編集します。 以下のコマンドを使用してシンクを実行します。
oc apply -f mariadb-sink-binding.yaml
35.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic mariadb-sink -p "sink.databaseName=The Database Name" -p "sink.password=The Password" -p "sink.query=INSERT INTO accounts (username,city) VALUES (:#username,:#city)" -p "sink.serverName=localhost" -p "sink.username=The Username"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
35.4. Kamelet ソースファイル
第36章 マスクフィールドアクション
転送中のメッセージの定数値を使用してフィールドをマスクする
36.1. 設定オプション
以下の表は、mask-field-action
Kamelet に使用できる設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
fields * | フィールド | マスクするフィールドのコンマ区切りリスト | 文字列 | ||
replacement * | replacement | マスクするフィールドの代替 | 文字列 |
アスタリスク(*)のマークが付いたフィールドは必須です。
36.2. 依存関係
実行時に、mask-field-action
Kamelet は、以下の依存関係の存在に依存します。
- mvn:org.apache.camel.kamelets:camel-kamelets-utils:1.0.0.fuse-800048-redhat-00001
- camel:jackson
- camel:kamelet
- camel:core
36.3. 使用法
本セクションでは、mask-field-action
を使用する方法を説明します。
36.3.1. Knative Action
mask-field-action
Kamelet を Knative バインディングの中間ステップとして使用できます。
mask-field-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: mask-field-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: mask-field-action properties: fields: "The Fields" replacement: "The Replacement" sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
36.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
36.3.1.2. クラスター CLI の使用手順
-
mask-field-action-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f mask-field-action-binding.yaml
36.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step mask-field-action -p "step-0.fields=The Fields" -p "step-0.replacement=The Replacement" channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
36.3.2. Kafka Action
mask-field-action
Kamelet を Kafka バインディングの中間ステップとして使用できます。
mask-field-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: mask-field-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: mask-field-action properties: fields: "The Fields" replacement: "The Replacement" sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
36.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
36.3.2.2. クラスター CLI の使用手順
-
mask-field-action-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f mask-field-action-binding.yaml
36.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step mask-field-action -p "step-0.fields=The Fields" -p "step-0.replacement=The Replacement" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
36.4. Kamelet ソースファイル
第37章 Message Timestamp ルーターアクション
topic フィールドを、元のトピック名およびレコードのタイムスタンプフィールドとして更新します。
37.1. 設定オプション
次の表は、message-timestamp-router-action
Kamelet で利用可能な設定オプションをまとめています。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
timestampKeys * | タイムスタンプキー | Timestamp キーのコンマ区切りリスト。タイムスタンプは最初に見つかったフィールドから取得されます。 | 文字列 | ||
timestampFormat | タイムスタンプの形式 | java.text.SimpleDateFormat と互換性があるタイムスタンプの文字列の文字列。 | 文字列 |
| |
timestampKeyFormat | タイムスタンプキーの形式 | タイムスタンプキーの形式。使用できる値は 'timestamp' または java.text.SimpleDateFormat と互換性のあるタイムスタンプの文字列です。'timestamp' の場合、フィールドは 1970 からミリ秒として評価され、UNIX Timestamp として評価されます。 | 文字列 |
| |
topicFormat | トピックの形式 | それぞれトピックとタイムスタンプのプレースホルダーとして '$[topic]' および '$[timestamp]' を含む文字列のフォーマット文字列。 | 文字列 |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
37.2. 依存関係
実行時、message-timestamp-router-action
Kameletは、以下の依存関係の存在に依存しています。
- mvn:org.apache.camel.kamelets:camel-kamelets-utils:1.0.0.fuse-800048-redhat-00001
- camel:jackson
- camel:kamelet
- camel:core
37.3. 使用法
本セクションでは、message-timestamp-router-action
を使用する方法を説明します。
37.3.1. Knative Action
message-timestamp-router-action
Kamelet を Knative バインディングの中間ステップとして使用できます。
message-timestamp-router-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: message-timestamp-router-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: message-timestamp-router-action properties: timestampKeys: "The Timestamp Keys" sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
37.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
37.3.1.2. クラスター CLI の使用手順
-
message-timestamp-router-action-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせて編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f message-timestamp-router-action-binding.yaml
37.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step message-timestamp-router-action -p "step-0.timestampKeys=The Timestamp Keys" channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
37.3.2. Kafka Action
message-timestamp-router-action
Kamelet を Kafka バインディングの中間ステップとして使用できます。
message-timestamp-router-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: message-timestamp-router-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: message-timestamp-router-action properties: timestampKeys: "The Timestamp Keys" sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
37.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
37.3.2.2. クラスター CLI の使用手順
-
message-timestamp-router-action-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせて編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f message-timestamp-router-action-binding.yaml
37.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step message-timestamp-router-action -p "step-0.timestampKeys=The Timestamp Keys" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
37.4. Kamelet ソースファイル
第38章 MongoDB Sink
MongoDB にドキュメントを送信します。
この Kamelet は JSON をボディーとして想定します。
ヘッダーとして設定できるプロパティー:
-
db-upsert
/ce-dbupsert
: データベースが存在しない場合には、この要素を作成します。ブール値。
38.1. 設定オプション
以下の表では、mongodb-sink
Kamelet で利用可能な設定オプションをまとめています。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
collection * | MongoDB コレクション | このエンドポイントにバインドする MongoDB コレクションの名前を設定します。 | 文字列 | ||
Database * | MongoDB Database | ターゲットに設定する MongoDB データベースの名前を設定します。 | 文字列 | ||
hosts * | MongoDB Hosts | host:port 形式の MongoDB ホストアドレスのコンマ区切りリスト。 | 文字列 | ||
createCollection | コレクション | 存在しない場合は、初期化時にコレクションを作成します。 | boolean |
| |
password | MongoDB パスワード | MongoDB にアクセスするためのユーザーパスワード。 | 文字列 | ||
username | MongoDB ユーザー名 | MongoDB にアクセスするためのユーザー名 | 文字列 | ||
writeConcern | 書き込みに関する懸念 | 書き込み操作用に MongoDB から要求される確認応答のレベルを設定します。可能な値は、ACKNOWLEDGED、W1、W2、W3、W3、UNACKNOWLEDGED、JOURNALED、MAJORITY です。 | 文字列 |
アスタリスク(*)のマークが付いたフィールドは必須です。
38.2. 依存関係
ランタイム時に、mongodb-sink
Kamelet は、以下の依存関係の有無に依存します。
- camel:kamelet
- camel:mongodb
- camel:jackson
38.3. 使用法
本セクションでは、mongodb-sink
を使用する方法を説明します。
38.3.1. Knative Sink
mongodb-sink
Kamelet を Knative オブジェクトにバインドし、これを Knative シンクとして使用できます。
mongodb-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: mongodb-sink-binding spec: source: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: mongodb-sink properties: collection: "The MongoDB Collection" database: "The MongoDB Database" hosts: "The MongoDB Hosts"
38.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
38.3.1.2. クラスター CLI の使用手順
-
mongodb-sink-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせてこれを編集します。 以下のコマンドを使用してシンクを実行します。
oc apply -f mongodb-sink-binding.yaml
38.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind channel:mychannel mongodb-sink -p "sink.collection=The MongoDB Collection" -p "sink.database=The MongoDB Database" -p "sink.hosts=The MongoDB Hosts"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
38.3.2. Kafka Sink
mongodb-sink
Kamelet を Kafka トピックにバインドすることにより、Kafka シンクとして使用できます。
mongodb-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: mongodb-sink-binding spec: source: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: mongodb-sink properties: collection: "The MongoDB Collection" database: "The MongoDB Database" hosts: "The MongoDB Hosts"
38.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
38.3.2.2. クラスター CLI の使用手順
-
mongodb-sink-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせてこれを編集します。 以下のコマンドを使用してシンクを実行します。
oc apply -f mongodb-sink-binding.yaml
38.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic mongodb-sink -p "sink.collection=The MongoDB Collection" -p "sink.database=The MongoDB Database" -p "sink.hosts=The MongoDB Hosts"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
38.4. Kamelet ソースファイル
第39章 MongoDB ソース
MongoDB からドキュメントを消費します。
persistentTailTracking オプションを有効にすると、コンシューマーは最後に消費されるメッセージを追跡し、次の再起動時に、そのメッセージから消費が再起動します。persistentTailTracking が有効にされている場合、tailTrackIncreasingField を指定する必要があります(デフォルトではオプションです)。
persistentTailTracking オプションが有効になっていない場合、コンシューマーはコレクション全体を消費し、新しいドキュメントが消費するアイドル状態になるのを待ちます。
39.1. 設定オプション
以下の表では、mongodb-source
Kamelet で利用可能な設定オプションをまとめています。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
collection * | MongoDB コレクション | このエンドポイントにバインドする MongoDB コレクションの名前を設定します。 | 文字列 | ||
Database * | MongoDB Database | ターゲットに設定する MongoDB データベースの名前を設定します。 | 文字列 | ||
hosts * | MongoDB Hosts | host:port 形式の MongoDB ホストアドレスのコンマ区切りリスト。 | 文字列 | ||
Password * | MongoDB パスワード | MongoDB にアクセスするためのユーザーパスワード。 | 文字列 | ||
username * | MongoDB ユーザー名 | MongoDB にアクセスするためのユーザー名ユーザー名は MongoDB の認証データベース(authenticationDatabase)に存在する必要があります。デフォルトでは、MongoDB authenticationDatabase は「admin」です。 | 文字列 | ||
persistentTailTracking | MongoDB Persistent Tail Tracking | 永続的なテールトラッキングを有効にします。これは、システム再起動後にも最後に消費されたメッセージを維持するメカニズムです。次にシステムが起動すると、エンドポイントは最後にレコードの読み込みを停止した時点からカーソルを復元します。 | boolean |
| |
tailTrackIncreasingField | MongoDB Tail Track Increasing フィールド | 増加傾向にあり、生成されるたびにテイリングカーソルを配置するために使用される、受信レコードのコリレーションフィールド。 | 文字列 |
アスタリスク(*)のマークが付いたフィールドは必須です。
39.2. 依存関係
ランタイム時に、mongodb-source
Kamelet は、以下の依存関係の有無に依存します。
- camel:kamelet
- camel:mongodb
- camel:jackson
39.3. 使用法
本セクションでは、mongodb-source
の使用方法を説明します。
39.3.1. Knative Source
mongodb-source
Kamelet を Knative オブジェクトにバインドして Knative ソースとして使用できます。
mongodb-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: mongodb-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: mongodb-source properties: collection: "The MongoDB Collection" database: "The MongoDB Database" hosts: "The MongoDB Hosts" password: "The MongoDB Password" username: "The MongoDB Username" sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
39.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
39.3.1.2. クラスター CLI の使用手順
-
mongodb-source-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせてこれを編集します。 以下のコマンドを使用してソースを実行します。
oc apply -f mongodb-source-binding.yaml
39.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してソースを設定および実行します。
kamel bind mongodb-source -p "source.collection=The MongoDB Collection" -p "source.database=The MongoDB Database" -p "source.hosts=The MongoDB Hosts" -p "source.password=The MongoDB Password" -p "source.username=The MongoDB Username" channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
39.3.2. Kafka Source
mongodb-source
Kamelet を Kafka トピックにバインドすることにより、Kafka ソースとして使用できます。
mongodb-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: mongodb-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: mongodb-source properties: collection: "The MongoDB Collection" database: "The MongoDB Database" hosts: "The MongoDB Hosts" password: "The MongoDB Password" username: "The MongoDB Username" sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
39.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
39.3.2.2. クラスター CLI の使用手順
-
mongodb-source-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせてこれを編集します。 以下のコマンドを使用してソースを実行します。
oc apply -f mongodb-source-binding.yaml
39.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してソースを設定および実行します。
kamel bind mongodb-source -p "source.collection=The MongoDB Collection" -p "source.database=The MongoDB Database" -p "source.hosts=The MongoDB Hosts" -p "source.password=The MongoDB Password" -p "source.username=The MongoDB Username" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
39.4. Kamelet ソースファイル
第40章 MySQL Sink
MySQL データベースにデータを送信します。
この Kamelet は JSON をボディーとして想定します。JSON フィールドとパラメーター間のマッピングはキーで実行されるため、以下のクエリーがある場合は以下を実行します。
'INSERT INTO accounts (username,city) VALUES (:#username,:#city)'
Kamelet は、以下のような入力として受信する必要があります。
'{ "username":"oscerd", "city":"Rome"}'
40.1. 設定オプション
次の表は、mysql-sink
Kameletで利用できる設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
databaseName * | データベース名 | ポイントするデータベース名 | 文字列 | ||
Password * | Password | セキュアな MySQL データベースへのアクセスに使用するパスワード | 文字列 | ||
query * | クエリー | MySQL データベースに対して実行するクエリー | 文字列 |
| |
serverName * | サーバー名 | データソースのサーバー名 | 文字列 |
| |
username * | Username | セキュアな MySQL データベースへのアクセスに使用するユーザー名 | 文字列 | ||
serverPort | サーバーポート | データソースのサーバーポート | 文字列 |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
40.2. 依存関係
実行時に、mysql-sink
Kameletは以下の依存関係の存在に依存します。
- camel:jackson
- camel:kamelet
- camel:sql
- mvn:org.apache.commons:commons-dbcp2:2.7.0
- mvn:mysql:mysql-connector-java
40.3. 使用法
ここでは、mysql-sink
の使用方法について説明します。
40.3.1. Knative Sink
mysql-sink
KameletをKnativeオブジェクトにバインドすることで、Knativeのシンクとして使用することができます。
mysql-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: mysql-sink-binding spec: source: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: mysql-sink properties: databaseName: "The Database Name" password: "The Password" query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)" serverName: "localhost" username: "The Username"
40.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
40.3.1.2. クラスター CLI の使用手順
-
mysql-sink-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集してください。 以下のコマンドを使用してシンクを実行します。
oc apply -f mysql-sink-binding.yaml
40.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind channel:mychannel mysql-sink -p "sink.databaseName=The Database Name" -p "sink.password=The Password" -p "sink.query=INSERT INTO accounts (username,city) VALUES (:#username,:#city)" -p "sink.serverName=localhost" -p "sink.username=The Username"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
40.3.2. Kafka Sink
mysql-sink
KameletをKafkaのトピックにバインドすることで、Kafkaのシンクとして使用することができます。
mysql-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: mysql-sink-binding spec: source: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: mysql-sink properties: databaseName: "The Database Name" password: "The Password" query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)" serverName: "localhost" username: "The Username"
40.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
40.3.2.2. クラスター CLI の使用手順
-
mysql-sink-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集してください。 以下のコマンドを使用してシンクを実行します。
oc apply -f mysql-sink-binding.yaml
40.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic mysql-sink -p "sink.databaseName=The Database Name" -p "sink.password=The Password" -p "sink.query=INSERT INTO accounts (username,city) VALUES (:#username,:#city)" -p "sink.serverName=localhost" -p "sink.username=The Username"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
40.4. Kamelet ソースファイル
第41章 PostgreSQL Sink
データを PostgreSQL データベースに送信します。
この Kamelet は JSON をボディーとして想定します。JSON フィールドとパラメーター間のマッピングはキーで実行されるため、以下のクエリーがある場合は以下を実行します。
'INSERT INTO accounts (username,city) VALUES (:#username,:#city)'
Kamelet は、以下のような入力として受信する必要があります。
'{ "username":"oscerd", "city":"Rome"}'
41.1. 設定オプション
次の表は、postgresql-sink
Kameletで利用できる設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
databaseName * | データベース名 | ポイントするデータベース名 | 文字列 | ||
Password * | Password | セキュアな PostgreSQL データベースへのアクセスに使用するパスワード | 文字列 | ||
query * | クエリー | PostgreSQL データベースに対して実行するクエリー | 文字列 |
| |
serverName * | サーバー名 | データソースのサーバー名 | 文字列 |
| |
username * | Username | セキュアな PostgreSQL データベースへのアクセスに使用するユーザー名 | 文字列 | ||
serverPort | サーバーポート | データソースのサーバーポート | 文字列 |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
41.2. 依存関係
実行時に、postgresql-sink
Kameletは以下の依存関係の存在に依存しています。
- camel:jackson
- camel:kamelet
- camel:sql
- mvn:org.postgresql:postgresql
- mvn:org.apache.commons:commons-dbcp2:2.7.0
41.3. 使用法
ここでは、postgresql-sink
の使用方法について説明します。
41.3.1. Knative Sink
postgresql-sink
KameletをKnativeオブジェクトにバインドすることで、Knativeのシンクとして使用することができます。
postgresql-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: postgresql-sink-binding spec: source: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: postgresql-sink properties: databaseName: "The Database Name" password: "The Password" query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)" serverName: "localhost" username: "The Username"
41.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
41.3.1.2. クラスター CLI の使用手順
-
postgresql-sink-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集してください。 以下のコマンドを使用してシンクを実行します。
oc apply -f postgresql-sink-binding.yaml
41.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind channel:mychannel postgresql-sink -p "sink.databaseName=The Database Name" -p "sink.password=The Password" -p "sink.query=INSERT INTO accounts (username,city) VALUES (:#username,:#city)" -p "sink.serverName=localhost" -p "sink.username=The Username"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
41.3.2. Kafka Sink
postgresql-sink
Kamelet を Kafka トピックにバインドし、Kafka シンクとして使用できます。
postgresql-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: postgresql-sink-binding spec: source: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: postgresql-sink properties: databaseName: "The Database Name" password: "The Password" query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)" serverName: "localhost" username: "The Username"
41.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
41.3.2.2. クラスター CLI の使用手順
-
postgresql-sink-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集してください。 以下のコマンドを使用してシンクを実行します。
oc apply -f postgresql-sink-binding.yaml
41.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic postgresql-sink -p "sink.databaseName=The Database Name" -p "sink.password=The Password" -p "sink.query=INSERT INTO accounts (username,city) VALUES (:#username,:#city)" -p "sink.serverName=localhost" -p "sink.username=The Username"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
41.4. Kamelet ソースファイル
第42章 述語フィルターの動作
JsonPath 式に基づくフィルター
42.1. 設定オプション
以下の表では、predicate-filter-action
Kamelet で利用可能な設定オプションをまとめています。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
expression * | 式 | 外部括弧なしで評価する JsonPath 式。これは、例の fooフィールドがJohnに等しい場合、メッセージは続行され、そうでない場合はフィルタリングされることを意味しています。 | 文字列 |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
42.2. 依存関係
実行時に predicate-filter-action
Kamelet は、以下の依存関係の有無に依存します。
- camel:core
- camel:kamelet
- camel:jsonpath
42.3. 使用法
本セクションでは、predicate-filter-action
を使用する方法を説明します。
42.3.1. Knative Action
predicate-filter-action
Kamelet を Knative バインディングの中間ステップとして使用することができます。
predicate-filter-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: predicate-filter-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: predicate-filter-action properties: expression: "@.foo =~ /.*John/" sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
42.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
42.3.1.2. クラスター CLI の使用手順
-
predicate-filter-action-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせて編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f predicate-filter-action-binding.yaml
42.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step predicate-filter-action -p "step-0.expression=@.foo =~ /.*John/" channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
42.3.2. Kafka Action
predicate-filter-action
Kamelet を Kafka バインディングの中間ステップとして使用することができます。
predicate-filter-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: predicate-filter-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: predicate-filter-action properties: expression: "@.foo =~ /.*John/" sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
42.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
42.3.2.2. クラスター CLI の使用手順
-
predicate-filter-action-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせて編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f predicate-filter-action-binding.yaml
42.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step predicate-filter-action -p "step-0.expression=@.foo =~ /.*John/" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
42.4. Kamelet ソースファイル
第43章 Protobuf デシリアライズアクション
ペイロードを Protobuf にデシリアライズ
43.1. 設定オプション
次の表は、protobuf-deserialize-action
Kamelet で利用可能な設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
スキーマ * | Schema | (単一行として)シリアライズ時に使用する Protobuf スキーマ | 文字列 |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
43.2. 依存関係
実行時には、protobuf-deserialize-action
Kameletは以下の依存関係の存在に依存します。
- mvn:org.apache.camel.kamelets:camel-kamelets-utils:1.0.0.fuse-800048-redhat-00001
- camel:kamelet
- camel:core
- camel:jackson-protobuf
43.3. 使用法
ここでは、protobuf-deserialize-action
の使用方法について説明します。
43.3.1. Knative Action
protobuf-deserialize-action
Kamelet を Knative バインディングの中間ステップとして使用できます。
protobuf-deserialize-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: protobuf-deserialize-action-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: timer-source properties: message: '{"first":"Ada","last":"Lovelace"}' steps: - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: json-deserialize-action - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: protobuf-serialize-action properties: schema: "message Person { required string first = 1; required string last = 2; }" - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: protobuf-deserialize-action properties: schema: "message Person { required string first = 1; required string last = 2; }" - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: json-serialize-action sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
43.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
43.3.1.2. クラスター CLI の使用手順
-
protobuf-deserialize-action-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f protobuf-deserialize-action-binding.yaml
43.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind "timer-source?message={\"first\":\"Ada\",\"last\":\"Lovelace\"}" --step json-deserialize-action --step protobuf-serialize-action -p "step-1.schema=message Person { required string first = 1; required string last = 2; }" --step protobuf-deserialize-action -p "step-2.schema=message Person { required string first = 1; required string last = 2; }" --step json-serialize-action channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
43.3.2. Kafka Action
protobuf-deserialize-action
Kamelet を Kafka バインディングの中間ステップとして使用できます。
protobuf-deserialize-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: protobuf-deserialize-action-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: timer-source properties: message: '{"first":"Ada","last":"Lovelace"}' steps: - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: json-deserialize-action - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: protobuf-serialize-action properties: schema: "message Person { required string first = 1; required string last = 2; }" - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: protobuf-deserialize-action properties: schema: "message Person { required string first = 1; required string last = 2; }" - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: json-serialize-action sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
43.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
43.3.2.2. クラスター CLI の使用手順
-
protobuf-deserialize-action-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f protobuf-deserialize-action-binding.yaml
43.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind "timer-source?message={\"first\":\"Ada\",\"last\":\"Lovelace\"}" --step json-deserialize-action --step protobuf-serialize-action -p "step-1.schema=message Person { required string first = 1; required string last = 2; }" --step protobuf-deserialize-action -p "step-2.schema=message Person { required string first = 1; required string last = 2; }" --step json-serialize-action kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
43.4. Kamelet ソースファイル
第44章 Protobuf Serialize アクション
ペイロードを Protobuf にシリアライズする
44.1. 設定オプション
次の表は、protobuf-serialize-action
Kamelet で利用可能な設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
スキーマ * | Schema | (単一行として)シリアライズ時に使用する Protobuf スキーマ | 文字列 |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
44.2. 依存関係
実行時に、protobuf-serialize-action
Kameletは以下の依存関係の存在に依存します。
- mvn:org.apache.camel.kamelets:camel-kamelets-utils:1.0.0.fuse-800048-redhat-00001
- camel:kamelet
- camel:core
- camel:jackson-protobuf
44.3. 使用法
ここでは、protobuf-serialize-action
の使用方法について説明します。
44.3.1. Knative Action
protobuf-serialize-action
Kamelet を Knative バインディングの中間ステップとして使用できます。
protobuf-serialize-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: protobuf-serialize-action-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: timer-source properties: message: '{"first":"Ada","last":"Lovelace"}' steps: - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: json-deserialize-action - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: protobuf-serialize-action properties: schema: "message Person { required string first = 1; required string last = 2; }" sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
44.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
44.3.1.2. クラスター CLI の使用手順
-
protobuf-serialize-action-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f protobuf-serialize-action-binding.yaml
44.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind "timer-source?message={\"first\":\"Ada\",\"last\":\"Lovelace\"}" --step json-deserialize-action --step protobuf-serialize-action -p "step-1.schema=message Person { required string first = 1; required string last = 2; }" channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
44.3.2. Kafka Action
protobuf-serialize-action
Kamelet を Kafka バインディングの中間ステップとして使用できます。
protobuf-serialize-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: protobuf-serialize-action-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: timer-source properties: message: '{"first":"Ada","last":"Lovelace"}' steps: - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: json-deserialize-action - ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: protobuf-serialize-action properties: schema: "message Person { required string first = 1; required string last = 2; }" sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
44.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
44.3.2.2. クラスター CLI の使用手順
-
protobuf-serialize-action-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f protobuf-serialize-action-binding.yaml
44.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind "timer-source?message={\"first\":\"Ada\",\"last\":\"Lovelace\"}" --step json-deserialize-action --step protobuf-serialize-action -p "step-1.schema=message Person { required string first = 1; required string last = 2; }" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
44.4. Kamelet ソースファイル
第45章 regex ルーターの動作
設定された正規表現と代替文字列を使用して宛先を更新します。
45.1. 設定オプション
以下の表は、regex-router-action
Kamelet で利用可能な設定オプションの概要を示しています。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
regex * | Regex | 宛先の正規表現 | 文字列 | ||
replacement * | replacement | マッチした場合の置換 | 文字列 |
アスタリスク(*)のマークが付いたフィールドは必須です。
45.2. 依存関係
実行時に regex-router-action
Kamelet は、以下の依存関係の有無に依存します。
- mvn:org.apache.camel.kamelets:camel-kamelets-utils:1.0.0.fuse-800048-redhat-00001
- camel:kamelet
- camel:core
45.3. 使用法
本セクションでは、regex-router-action
の使用方法を説明します。
45.3.1. Knative Action
regex-router-action
Kamelet を Knative バインディングの中間ステップとして使用することができます。
regex-router-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: regex-router-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: regex-router-action properties: regex: "The Regex" replacement: "The Replacement" sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
45.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
45.3.1.2. クラスター CLI の使用手順
-
regex-router-action-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせて編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f regex-router-action-binding.yaml
45.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step regex-router-action -p "step-0.regex=The Regex" -p "step-0.replacement=The Replacement" channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
45.3.2. Kafka Action
regex-router-action
Kamelet を Kafka バインディングの中間ステップとして使用することができます。
regex-router-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: regex-router-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: regex-router-action properties: regex: "The Regex" replacement: "The Replacement" sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
45.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
45.3.2.2. クラスター CLI の使用手順
-
regex-router-action-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせて編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f regex-router-action-binding.yaml
45.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step regex-router-action -p "step-0.regex=The Regex" -p "step-0.replacement=The Replacement" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
45.4. Kamelet ソースファイル
第46章 フィールドアクションの置き換え
フィールドを、転送中のメッセージ内の別のキーに置き換えます。
46.1. 設定オプション
以下の表は、replace-field-action
Kamelet に使用できる設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
disabled * | Disabled | 無効にするフィールドのコンマ区切りリスト | 文字列 | ||
enabled * | 有効 | 有効にするフィールドのコンマ区切りリスト | 文字列 | ||
名前 * | 名前変更 | 名前を変更する新しい値が含まれるフィールドのコンマ区切りリスト | 文字列 |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
46.2. 依存関係
ランタイム時に、replace-field-action
Kamelet は、以下の依存関係の存在に依存します。
- mvn:org.apache.camel.kamelets:camel-kamelets-utils:1.0.0.fuse-800048-redhat-00001
- camel:core
- camel:jackson
- camel:kamelet
46.3. 使用法
本セクションでは、replace-field-action
を使用する方法を説明します。
46.3.1. Knative Action
replace-field-action
Kamelet を Knative バインディングの中間ステップとして使用できます。
replace-field-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: replace-field-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: replace-field-action properties: disabled: "The Disabled" enabled: "The Enabled" renames: "foo:bar,c1:c2" sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
46.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
46.3.1.2. クラスター CLI の使用手順
-
replace-field-action-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f replace-field-action-binding.yaml
46.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step replace-field-action -p "step-0.disabled=The Disabled" -p "step-0.enabled=The Enabled" -p "step-0.renames=foo:bar,c1:c2" channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
46.3.2. Kafka Action
replace-field-action
Kamelet を Kafka バインディングの中間ステップとして使用できます。
replace-field-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: replace-field-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: replace-field-action properties: disabled: "The Disabled" enabled: "The Enabled" renames: "foo:bar,c1:c2" sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
46.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
46.3.2.2. クラスター CLI の使用手順
-
replace-field-action-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f replace-field-action-binding.yaml
46.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step replace-field-action -p "step-0.disabled=The Disabled" -p "step-0.enabled=The Enabled" -p "step-0.renames=foo:bar,c1:c2" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
46.4. Kamelet ソースファイル
第47章 Salesforce ソース
Salesforce から更新を受け取ります。
47.1. 設定オプション
次の表は、salesforce-source
Kameletで利用できる設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
clientId * | Consumer Key | Salesforce アプリケーションコンシューマーキー | 文字列 | ||
clientSecret * | コンシューマーシークレット | Salesforce アプリケーションコンシューマーシークレット | 文字列 | ||
Password * | Password | Salesforce ユーザーのパスワード | 文字列 | ||
query * | クエリー | Salesforce で実行するクエリー | 文字列 |
| |
topicName * | トピック名 | 使用するトピック/チャネルの名前 | 文字列 |
| |
userName * | Username | Salesforce のユーザー名 | 文字列 | ||
loginUrl | ログイン URL | Salesforce インスタンスのログイン URL | 文字列 |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
47.2. 依存関係
salesforce-source
Kameletは、実行時に以下の依存関係の存在に依存します。
- camel:jackson
- camel:salesforce
- mvn:org.apache.camel.k:camel-k-kamelet-reify
- camel:kamelet
47.3. 使用法
ここでは、salesforce-source
の使用方法について説明します。
47.3.1. Knative Source
salesforce-source
KameletをKnativeオブジェクトにバインドすることで、Knativeのソースとして使用することができます。
salesforce-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: salesforce-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: salesforce-source properties: clientId: "The Consumer Key" clientSecret: "The Consumer Secret" password: "The Password" query: "SELECT Id, Name, Email, Phone FROM Contact" topicName: "ContactTopic" userName: "The Username" sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
47.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
47.3.1.2. クラスター CLI の使用手順
-
salesforce-source-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせて編集します。 以下のコマンドを使用してソースを実行します。
oc apply -f salesforce-source-binding.yaml
47.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してソースを設定および実行します。
kamel bind salesforce-source -p "source.clientId=The Consumer Key" -p "source.clientSecret=The Consumer Secret" -p "source.password=The Password" -p "source.query=SELECT Id, Name, Email, Phone FROM Contact" -p "source.topicName=ContactTopic" -p "source.userName=The Username" channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
47.3.2. Kafka Source
salesforce-source
Kamelet を Kafka トピックにバインドすることにより、Kafka ソースとして使用できます。
salesforce-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: salesforce-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: salesforce-source properties: clientId: "The Consumer Key" clientSecret: "The Consumer Secret" password: "The Password" query: "SELECT Id, Name, Email, Phone FROM Contact" topicName: "ContactTopic" userName: "The Username" sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
47.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
47.3.2.2. クラスター CLI の使用手順
-
salesforce-source-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせて編集します。 以下のコマンドを使用してソースを実行します。
oc apply -f salesforce-source-binding.yaml
47.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してソースを設定および実行します。
kamel bind salesforce-source -p "source.clientId=The Consumer Key" -p "source.clientSecret=The Consumer Secret" -p "source.password=The Password" -p "source.query=SELECT Id, Name, Email, Phone FROM Contact" -p "source.topicName=ContactTopic" -p "source.userName=The Username" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
47.4. Kamelet ソースファイル
第48章 SFTP Sink
SFTP サーバーにデータを送信します。
Kamelet では、以下のヘッダーが設定されていることを想定しています。
-
file
/ce-file
: アップロードするファイル名として
ヘッダーが設定されていない場合、エクスチェンジ ID はファイル名として使用されます。
48.1. 設定オプション
以下の表では、sftp-sink
Kamelet で利用可能な設定オプションをまとめています。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
connectionHost * | 接続ホスト | FTP サーバーのホスト名 | 文字列 | ||
connectionPort * | 接続ポート | FTP サーバーのポート | 文字列 |
| |
directoryName * | ディレクトリー名 | 開始ディレクトリー | 文字列 | ||
Password * | Password | FTPサーバーにアクセスするためのパスワード | 文字列 | ||
username * | Username | FTP サーバーにアクセスするためのユーザー名 | 文字列 | ||
fileExist | ファイルの存在 | すでにファイルが存在する場合にどのように動作するか。列挙は 4 つあり、値は Override、Append、Fail または Ignore のいずれかです。 | 文字列 |
| |
passiveMode | パッシブモード | パッシブモード接続の設定 | boolean |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
48.2. 依存関係
ランタイム時に、sftp-sink
Kamelet は、以下の依存関係の有無に依存します。
- camel:ftp
- camel:core
- camel:kamelet
48.3. 使用法
本セクションでは、sftp-sink
を使用する方法を説明します。
48.3.1. Knative Sink
sftp-sink
Kamelet を Knative オブジェクトにバインドすることにより、これを Knative シンクとして使用できます。
sftp-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: sftp-sink-binding spec: source: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: sftp-sink properties: connectionHost: "The Connection Host" directoryName: "The Directory Name" password: "The Password" username: "The Username"
48.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
48.3.1.2. クラスター CLI の使用手順
-
sftp-sink-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせてこれを編集します。 以下のコマンドを使用してシンクを実行します。
oc apply -f sftp-sink-binding.yaml
48.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind channel:mychannel sftp-sink -p "sink.connectionHost=The Connection Host" -p "sink.directoryName=The Directory Name" -p "sink.password=The Password" -p "sink.username=The Username"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
48.3.2. Kafka Sink
sftp-sink
Kamelet を Kafka トピックにバインドすることにより、Kafka シンクとして使用できます。
sftp-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: sftp-sink-binding spec: source: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: sftp-sink properties: connectionHost: "The Connection Host" directoryName: "The Directory Name" password: "The Password" username: "The Username"
48.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
48.3.2.2. クラスター CLI の使用手順
-
sftp-sink-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせてこれを編集します。 以下のコマンドを使用してシンクを実行します。
oc apply -f sftp-sink-binding.yaml
48.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic sftp-sink -p "sink.connectionHost=The Connection Host" -p "sink.directoryName=The Directory Name" -p "sink.password=The Password" -p "sink.username=The Username"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
48.4. Kamelet ソースファイル
第49章 SFTP ソース
SFTP サーバーからデータを受け取ります。
49.1. 設定オプション
以下の表では、sftp-source
Kamelet で利用可能な設定オプションをまとめています。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
connectionHost * | 接続ホスト | SFTP サーバーのホスト名 | 文字列 | ||
connectionPort * | 接続ポート | FTP サーバーのポート | 文字列 |
| |
directoryName * | ディレクトリー名 | 開始ディレクトリー | 文字列 | ||
Password * | Password | SFTP サーバーにアクセスするためのパスワード | 文字列 | ||
username * | Username | SFTP サーバーにアクセスするためのユーザー名 | 文字列 | ||
idempotent | 冪等性 | 処理されたファイルを省略します。 | boolean |
| |
passiveMode | パッシブモード | パッシブモード接続の設定 | boolean |
| |
再帰 | 再帰 | ディレクトリーの場合は、すべてのサブディレクトリー内のファイルも検索します。 | boolean |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
49.2. 依存関係
ランタイム時に、sftp-source
Kamelet は、以下の依存関係の有無に依存します。
- camel:ftp
- camel:core
- camel:kamelet
49.3. 使用法
本セクションでは、sftp-source
を使用する方法を説明します。
49.3.1. Knative Source
sftp-source
Kamelet を Knative オブジェクトにバインドすることにより、これを Knative ソースとして使用できます。
sftp-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: sftp-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: sftp-source properties: connectionHost: "The Connection Host" directoryName: "The Directory Name" password: "The Password" username: "The Username" sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
49.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
49.3.1.2. クラスター CLI の使用手順
-
sftp-source-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせて編集します。 以下のコマンドを使用してソースを実行します。
oc apply -f sftp-source-binding.yaml
49.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してソースを設定および実行します。
kamel bind sftp-source -p "source.connectionHost=The Connection Host" -p "source.directoryName=The Directory Name" -p "source.password=The Password" -p "source.username=The Username" channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
49.3.2. Kafka Source
sftp-source
Kamelet を Kafka トピックにバインドすることにより、Kafka ソースとして使用できます。
sftp-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: sftp-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: sftp-source properties: connectionHost: "The Connection Host" directoryName: "The Directory Name" password: "The Password" username: "The Username" sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
49.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
49.3.2.2. クラスター CLI の使用手順
-
sftp-source-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせて編集します。 以下のコマンドを使用してソースを実行します。
oc apply -f sftp-source-binding.yaml
49.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してソースを設定および実行します。
kamel bind sftp-source -p "source.connectionHost=The Connection Host" -p "source.directoryName=The Directory Name" -p "source.password=The Password" -p "source.username=The Username" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
49.4. Kamelet ソースファイル
第50章 Slack ソース
Slack チャネルからメッセージを受信する。
50.1. 設定オプション
以下の表は、s lack-source
Kamelet に使用できる設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
チャンネル * | Channel | メッセージの受信元の Slack チャネル | 文字列 |
| |
トークン * | トークン | Slack にアクセスするためのトークン。Slack アプリケーションが必要です。このアプリには、channel:history および channels:read パーミッションが必要です。Bot User OAuth アクセストークンは、必要なトークンの種類です。 | 文字列 |
アスタリスク(*)のマークが付いたフィールドは必須です。
50.2. 依存関係
実行時に、s lack-source
Kamelet は、以下の依存関係の存在に依存します。
- camel:kamelet
- camel:slack
- camel:jackson
50.3. 使用法
本セクションでは、s lack-source
の使用方法を説明します。
50.3.1. Knative Source
slack-source
Kamelet を Knative ソースとして使用するには、これを Knative オブジェクトにバインドします。
slack-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: slack-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: slack-source properties: channel: "#myroom" token: "The Token" sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
50.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
50.3.1.2. クラスター CLI の使用手順
-
slack-source-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて編集します。 以下のコマンドを使用してソースを実行します。
oc apply -f slack-source-binding.yaml
50.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してソースを設定および実行します。
kamel bind slack-source -p "source.channel=#myroom" -p "source.token=The Token" channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
50.3.2. Kafka Source
Kafka トピックにバインドすることで、s lack-source
Kamelet を Kafka ソースとして使用できます。
slack-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: slack-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: slack-source properties: channel: "#myroom" token: "The Token" sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
50.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
50.3.2.2. クラスター CLI の使用手順
-
slack-source-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて編集します。 以下のコマンドを使用してソースを実行します。
oc apply -f slack-source-binding.yaml
50.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してソースを設定および実行します。
kamel bind slack-source -p "source.channel=#myroom" -p "source.token=The Token" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
50.4. Kamelet ソースファイル
第51章 Microsoft SQL Server Sink
Microsoft SQL Server データベースにデータを送信します。
この Kamelet は JSON をボディーとして想定します。JSON フィールドとパラメーター間のマッピングはキーで実行されるため、以下のクエリーがある場合は以下を実行します。
'INSERT INTO accounts (username,city) VALUES (:#username,:#city)'
Kamelet は、以下のような入力として受信する必要があります。
'{ "username":"oscerd", "city":"Rome"}'
51.1. 設定オプション
以下の表は、sqlserver-sink
Kamelet で利用可能な設定オプションをまとめています。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
databaseName * | データベース名 | ポイントするデータベース名 | 文字列 | ||
Password * | Password | セキュアな SQL Server データベースへのアクセスに使用するパスワード | 文字列 | ||
query * | クエリー | SQL Server データベースに対して実行するクエリー | 文字列 |
| |
serverName * | サーバー名 | データソースのサーバー名 | 文字列 |
| |
username * | Username | セキュアな SQL Server データベースへのアクセスに使用するユーザー名 | 文字列 | ||
serverPort | サーバーポート | データソースのサーバーポート | 文字列 |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
51.2. 依存関係
ランタイム時に、sqlserver-sink
Kamelet は、以下の依存関係の有無に依存します。
- camel:jackson
- camel:kamelet
- camel:sql
- mvn:org.apache.commons:commons-dbcp2:2.7.0
- mvn:com.microsoft.sqlserver:mssql-jdbc:9.2.1.jre11
51.3. 使用法
本セクションでは、sqlserver-sink
を使用する方法を説明します。
51.3.1. Knative Sink
sqlserver-sink
Kamelet を Knative オブジェクトにバインドすることにより、Knative シンクとして使用できます。
sqlserver-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: sqlserver-sink-binding spec: source: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: sqlserver-sink properties: databaseName: "The Database Name" password: "The Password" query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)" serverName: "localhost" username: "The Username"
51.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
51.3.1.2. クラスター CLI の使用手順
-
sqlserver-sink-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせてこれを編集します。 以下のコマンドを使用してシンクを実行します。
oc apply -f sqlserver-sink-binding.yaml
51.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind channel:mychannel sqlserver-sink -p "sink.databaseName=The Database Name" -p "sink.password=The Password" -p "sink.query=INSERT INTO accounts (username,city) VALUES (:#username,:#city)" -p "sink.serverName=localhost" -p "sink.username=The Username"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
51.3.2. Kafka Sink
sqlserver-sink
Kamelet を Kafka シンクとして使用することは、Kafka トピックにバインドします。
sqlserver-sink-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: sqlserver-sink-binding spec: source: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic sink: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: sqlserver-sink properties: databaseName: "The Database Name" password: "The Password" query: "INSERT INTO accounts (username,city) VALUES (:#username,:#city)" serverName: "localhost" username: "The Username"
51.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
51.3.2.2. クラスター CLI の使用手順
-
sqlserver-sink-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせてこれを編集します。 以下のコマンドを使用してシンクを実行します。
oc apply -f sqlserver-sink-binding.yaml
51.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してシンクを設定し、実行します。
kamel bind kafka.strimzi.io/v1beta1:KafkaTopic:my-topic sqlserver-sink -p "sink.databaseName=The Database Name" -p "sink.password=The Password" -p "sink.query=INSERT INTO accounts (username,city) VALUES (:#username,:#city)" -p "sink.serverName=localhost" -p "sink.username=The Username"
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
51.4. Kamelet ソースファイル
第52章 Telegram ソース
Telegram Source Kamelet はテクノロジープレビュー機能です。テクノロジープレビュー機能は Red Hat の実稼働環境でのサービスレベルアグリーメント (SLA) ではサポートされていないため、Red Hat では実稼働環境での使用を推奨していません。Red Hat は実稼働環境でこれらを使用することを推奨していません。
このような機能は、近々発表予定の製品機能をリリースに先駆けてご提供します。これにより、お客様は機能性をテストし、開発プロセス中にフィードバックをお寄せいただくことができます。Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、https://access.redhat.com/support/offerings/techpreview を参照してください。
Telegram ボットに送信されたすべてのメッセージを受信します。
ボットを作成するには、Telegram アプリケーションを使用して @botfather アカウントにお問い合わせください。
ソースは、以下のヘッダーをメッセージに割り当てます。
-
chat-id
/ce-chatid
: メッセージが出るチャットの ID
52.1. 設定オプション
以下の表に、telegram-source
Kamelet で利用可能な設定オプションをまとめています。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
authorizationToken * | トークン | Telegram でボットにアクセスするためのトークン。Telegram @botfather から取得できます。 | 文字列 |
アスタリスク(*)のマークが付いたフィールドは必須です。
52.2. 依存関係
実行時には、telegram-source
Kameletは以下の依存関係の存在に依存します。
- camel:jackson
- camel:kamelet
- camel:telegram
- camel:core
52.3. 使用法
本セクションでは、telegram-source
の使用方法を説明します。
52.3.1. Knative Source
telegram-source
Kamelet を Knative オブジェクトにバインドすることにより、Knative ソースとして使用できます。
telegram-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: telegram-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: telegram-source properties: authorizationToken: "The Token" sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
52.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
52.3.1.2. クラスター CLI の使用手順
-
telegram-source-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせて編集します。 以下のコマンドを使用してソースを実行します。
oc apply -f telegram-source-binding.yaml
52.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してソースを設定および実行します。
kamel bind telegram-source -p "source.authorizationToken=The Token" channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
52.3.2. Kafka Source
telegram-source
Kamelet を Kafka トピックにバインドすることにより、Kafka のソースとして使用できます。
telegram-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: telegram-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: telegram-source properties: authorizationToken: "The Token" sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
52.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
52.3.2.2. クラスター CLI の使用手順
-
telegram-source-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせて編集します。 以下のコマンドを使用してソースを実行します。
oc apply -f telegram-source-binding.yaml
52.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してソースを設定および実行します。
kamel bind telegram-source -p "source.authorizationToken=The Token" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
52.4. Kamelet ソースファイル
第53章 タイマーソース
カスタムペイロードを使用して定期的なイベントを生成します。
53.1. 設定オプション
次の表は、timer-source
Kameletで利用可能な設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
message * | メッセージ | 生成するメッセージ | 文字列 |
| |
contentType | コンテンツタイプ | 生成されるメッセージのコンテンツタイプ | 文字列 |
| |
period | 期間 | 2 つのイベントの間隔(ミリ秒単位) | integer |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
53.2. 依存関係
timer-source
Kameletは、実行時に以下の依存関係の存在に依存します。
- camel:core
- camel:timer
- camel:kamelet
53.3. 使用法
ここでは、timer-source
の使用方法について説明します。
53.3.1. Knative Source
timer-source
Kamelet を Knative オブジェクトにバインドすることにより、Knative ソースとして使用できます。
timer-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: timer-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: timer-source properties: message: "hello world" sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
53.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
53.3.1.2. クラスター CLI の使用手順
-
timer-source-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集してください。 以下のコマンドを使用してソースを実行します。
oc apply -f timer-source-binding.yaml
53.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用してソースを設定および実行します。
kamel bind timer-source -p "source.message=hello world" channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
53.3.2. Kafka Source
timer-source
KameletをKafkaのトピックにバインドすることで、Kafkaのソースとして使用することができます。
timer-source-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: timer-source-binding spec: source: ref: kind: Kamelet apiVersion: camel.apache.org/v1alpha1 name: timer-source properties: message: "hello world" sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
53.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
53.3.2.2. クラスター CLI の使用手順
-
timer-source-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集してください。 以下のコマンドを使用してソースを実行します。
oc apply -f timer-source-binding.yaml
53.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用してソースを設定および実行します。
kamel bind timer-source -p "source.message=hello world" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
53.4. Kamelet ソースファイル
第54章 ルーターのタイムスタンプアクション
topic フィールドを、元のトピック名およびレコードのタイムスタンプとして更新します。
54.1. 設定オプション
次の表は、timestamp-router-action
Kameletで利用可能な設定オプションをまとめたものです。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
timestampFormat | タイムスタンプの形式 | java.text.SimpleDateFormat と互換性があるタイムスタンプの文字列の文字列。 | 文字列 |
| |
timestampHeaderName | タイムスタンプヘッダー名 | タイムスタンプが含まれるヘッダーの名前 | 文字列 |
| |
topicFormat | トピックの形式 | それぞれトピックとタイムスタンプのプレースホルダーとして '$[topic]' および '$[timestamp]' を含む文字列のフォーマット文字列。 | 文字列 |
|
アスタリスク(*)のマークが付いたフィールドは必須です。
54.2. 依存関係
実行時、timestamp-router-action
Kameletは以下の依存関係の存在に依存しています。
- mvn:org.apache.camel.kamelets:camel-kamelets-utils:1.0.0.fuse-800048-redhat-00001
- camel:kamelet
- camel:core
54.3. 使用法
ここでは、timestamp-router-action
の使用方法について説明します。
54.3.1. Knative Action
timestamp-router-action
Kameletは、Knativeバインディングの中間ステップとして使用することができます。
timestamp-router-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: timestamp-router-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: timestamp-router-action sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
54.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
54.3.1.2. クラスター CLI の使用手順
-
timestamp-router-action-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f timestamp-router-action-binding.yaml
54.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step timestamp-router-action channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
54.3.2. Kafka Action
timestamp-router-action
Kameletは、Kafkaバインディングの中間ステップとして使用することができます。
timestamp-router-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: timestamp-router-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: timestamp-router-action sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
54.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
54.3.2.2. クラスター CLI の使用手順
-
timestamp-router-action-binding.yaml
ファイルをローカルドライブに保存し、必要に応じて構成を編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f timestamp-router-action-binding.yaml
54.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step timestamp-router-action kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
54.4. Kamelet ソースファイル
第55章 キー動作に対する値
Kafka レコードキーを、ボディーのフィールドのサブセットから形成された新しいキーに置き換えます。
55.1. 設定オプション
以下の表には、value-to-key-action
Kamelet で利用可能な設定オプションをまとめています。
プロパティー | 名前 | 詳細 | タイプ | デフォルト | 例 |
---|---|---|---|---|---|
fields * | フィールド | 新しいキーを構成するために使用されるフィールドのコンマ区切りリスト | 文字列 |
アスタリスク(*)のマークが付いたフィールドは必須です。
55.2. 依存関係
ランタイム時に、value-to-key-action
Kamelet は、以下の依存関係の有無に依存します。
- mvn:org.apache.camel.kamelets:camel-kamelets-utils:1.0.0.fuse-800048-redhat-00001
- camel:core
- camel:jackson
- camel:kamelet
55.3. 使用法
本セクションでは、value-to-key-action
を使用する方法を説明します。
55.3.1. Knative Action
value-to-key-action
Kamelet を Knative バインディングの中間ステップとして使用できます。
value-to-key-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: value-to-key-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: value-to-key-action properties: fields: "The Fields" sink: ref: kind: Channel apiVersion: messaging.knative.dev/v1 name: mychannel
55.3.1.1. 前提条件
接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
55.3.1.2. クラスター CLI の使用手順
-
value-to-key-action-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせて編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f value-to-key-action-binding.yaml
55.3.1.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step value-to-key-action -p "step-0.fields=The Fields" channel:mychannel
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。
55.3.2. Kafka Action
value-to-key-action
Kamelet を Kafka バインディングの中間ステップとして使用できます。
value-to-key-action-binding.yaml
apiVersion: camel.apache.org/v1alpha1 kind: KameletBinding metadata: name: value-to-key-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: value-to-key-action properties: fields: "The Fields" sink: ref: kind: KafkaTopic apiVersion: kafka.strimzi.io/v1beta1 name: my-topic
55.3.2.1. 前提条件
AMQ Streams Operator を OpenShift クラスターにインストールし、現在の namespace に my-topic
という名前のトピックを作成していることを確認します。接続先のOpenShiftクラスタに「Red Hat Integration - Camel K」がインストールされていることを確認します。
55.3.2.2. クラスター CLI の使用手順
-
value-to-key-action-binding.yaml
ファイルをローカルドライブに保存し、設定に合わせて編集します。 以下のコマンドを使用して、アクションを実行します。
oc apply -f value-to-key-action-binding.yaml
55.3.2.3. Kamel CLI を使用するための手順
以下のコマンドを使用して、アクションを設定および実行します。
kamel bind timer-source?message=Hello --step value-to-key-action -p "step-0.fields=The Fields" kafka.strimzi.io/v1beta1:KafkaTopic:my-topic
このコマンドは、クラスターの現在の namespace に KameletBinding を作成します。