Camel Kafka Connector のスタートガイド
テクノロジープレビューとしてのみ提供
概要
はじめに
Camel Kafka Connector は、サポートされていないテクノロジープレビューリリース以降のリリースは予定されていません。
多様性を受け入れるオープンソースの強化
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。
第1章 Camel Kafka コネクターの概要
本章では、Camel Kafka Connector によって提供される機能、概念、およびディストリビューションを紹介します。
Camel Kafka Connecor はテクノロジープレビューの機能です。テクノロジープレビューリリース以降に Camel Kafka Connector をリリースする予定はありません。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は実稼働環境でこれらを使用することを推奨していません。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
1.1. Camel Kafka Connector の概要
Apache Camel は、標準のエンタープライズ統合パターン (EIP) をベースとした、さまざまなシステムを接続するための非常に柔軟なオープンソースの統合フレームワークです。Apache Kafka Connect は、イベント駆動型アーキテクチャー向けに特別に設計された、外部システムに接続するための Kafka ネイティブなアプローチです。
Camel Kafka Connector を使用すると、標準の Camel コンポーネントを Kafka Connect コネクターとして使用できます。これにより、可能なインテグレーションの範囲が、Kafka Connect コネクターのみによってサポートされる外部システム以外にも拡大されます。Camel Kafka Connector は、Kafka ベースの AMQ Streams on OpenShift で一般的な Camel コンポーネントのエコシステムを利用できるようにするアダプターとして機能します。
Camel Kafka Connector を使用すると、Kafka Connect フレームワークで Camel コンポーネントを直接設定するのがより簡単になります。Camel Kafka Connector を使用すると、Camel Kafka シンクまたはソースコネクターを接続元または接続先とすることで、Camel コンポーネントを利用して異なるシステムとの統合を行うことができます。コードを作成する必要はありません。また、適切なコネクター JAR を Kafka Connect イメージに含めることができ、カスタムリソースを使用してコネクターオプションを設定できます。
Camel Kafka Connector は、Apache Camel オープンソースコミュニティーのサブプロジェクトである Apache Camel Kafka Connector 上に構築されます。Camel Kafka Connector は AMQ Streams および Kafka Connect に完全に統合され、OpenShift Container Platform と Red Hat Enterprise Linux の両方で利用できます。
OpenShift 上のクラウドネイティブインテグレーションでは、Red Hat Integration - Camel K ディストリビューションにて Camel Kafka Connector とともに利用できます。Camel K は、OpenShift のクラウドでネイティブで実行される Apache Camel K からビルドされる軽量のインテグレーションフレームワークです。Camel K は、サーバーレスおよびマイクロサービスアーキテクチャー向けに特別に設計されています。
その他のリソース
- Apache Camel Kafka Connector の GitHub プロジェクト
- Apache Camel Kafka Connector の Web サイト
- OpenShift での Camel K インテグレーションのデプロイ
1.2. Camel Kafka Connector の機能
テクノロジーリビューの Camel Kafka Connector には、以下の主要機能が含まれています。
1.2.1. プラットフォームおよびコンポーネント
- OpenShift Container Platform 4.6 または 4.7
- Red Hat Enterprise Linux 8.x
- AMQ Streams 1.6
- Apache Kafka Connect 2.6
- Apache Camel Kafka Connector 0.7.1
- Apache Camel 3.7
- OpenJDK 11
1.2.2. テクノロジープレビューの機能
- 一部の Camel Kafka コネクター
- シンクおよびソースコネクターの Camel データフォーマットのマーシャリング/アンマーシャリング
- シンクコネクターの集約
- コネクターを拡張するための Maven archetype
1.2.3. Camel Kafka コネクター
コネクター | シンク/ソース |
---|---|
Amazon Web Services (AWS2) Kinesis | シンクおよびソース |
Amazon Web Services (AWS2) S3 | シンクおよびソース |
Amazon Web Services (AWS2) SNS | シンクのみ |
Amazon Web Services (AWS2) SQS | シンクおよびソース |
Azure Storage Blob | シンクのみ |
Azure Storage Queue | シンクのみ |
Cassandra Query Language (CQL) | シンクおよびソース |
Elasticsearch | シンクのみ |
File | シンクのみ |
Hadoop Distributed File System (HDFS) | シンクのみ |
Hypertext Transfer Protocol (HTTP) | シンクのみ |
Java Database Connectivity (JDBC) | シンクのみ |
Java Message Service (JMS) | シンクおよびソース |
MongoDB | シンクおよびソース |
RabbitMQ | シンクおよびソース |
SQL | シンクおよびソース |
SSH | シンクおよびソース |
Syslog | シンクおよびソース |
Timer | ソースのみ |
1.2.4. Camel データフォーマット
テクノロジープレビューの Camel Kafka Connector には、Camel データフォーマットのマーシャリングおよびアンマーシャリングが含まれています。たとえば、これらのフォーマットには Apache Avro、Base64、Google Protobuf、JSON、SOAP、Zip ファイルなどが含まれます。Camel Kafka Connector の設定でプロパティーを使用すると、Camel データフォーマットのマーシャリングおよびアンマーシャリングを設定できます。
1.3. Camel Kafka Connector アーキテクチャー
AMQ Streams は、パブリッシュ/サブスクライブメッセージングブローカーが含まれる Apache Kafka をベースとした分散型でスケーラブルなストリーミングプラットフォームです。Kafka Connect は、Kafka ベースのシステムを外部システムと統合するフレームワークを提供します。Kafka Connect を使用すると、外部システムと Kafka ブローカーとの間で双方向にデータをストリーミングするように ソース および シンク コネクターを設定できます。
Camel Kafka Connector は Camel コンポーネントの柔軟性を再利用し、AMQ Streams をデータのストリーミング元またはストリーミング先とするために使用できるソースおよびシンクコネクターとして Kafka Connect で利用できるようにします。たとえば、AWS S3 ソースコネクターを使用して、処理のために Amazon Web Services からデータを取得したり、Elasticsearch シンクコネクターを使用して、分析のために Kafka に保存されたイベントを Elasticsearch インスタンスに集約したりできます。
以下の図は、AMQ Streams をベースとした Camel Kafka Connector のクラウドネイティブインテグレーションアーキテクチャーの簡単なビューを示しています。
図1.1 Camel Kafka Connector アーキテクチャー
Kafka Connect の概念
- ソースコネクター
- ソースコネクターはコンシューマーのように動作し、外部システムから Kafka トピックにデータをプルして、ストリーム処理にデータを利用できるようにします。たとえば、これらの外部ソースシステムには Amazon Web Services または Java Message Service が含まれます。
- シンクコネクター
- シンクコネクターはプロデューサーと同様に動作し、オフライン分析のために Kafka トピックから外部システムにデータをプッシュします。たとえば、これらの外部シンクシステムには Cassandra、Syslog、または Elasticsearch が含まれます。
- シンク/ソースタスク
- タスクは通常、シンクまたはソースコネクターによって作成され、データの処理を担当します。
- キー/値コンバーター
- キー/値コンバーターは、Kafka メッセージのキーまたは値をさまざまな形式でシリアライズ/デシリアライズできます。
- トランスフォーマー
- トランスフォーマーは、フィールドの名前変更や値を基にしたトピックへのルーティングなど、Kafka メッセージの内容を操作できます。
- アグリゲーター
- シンクコネクターはアグリゲーターを使用して、レコードを外部システムに送信する前にバッチ処理を行うことができます。
Camel Kafka Connector の設定
Camel Kafka Connector 設定を使用して以下を指定できます。
- Kafka Connect 設定オプション
- Camel ルート定義
- Camel 設定オプション
その他のリソース
- Apache Kafka Connect 2.6 ドキュメント
1.4. Camel Kafka Connector ディストリビューション
Camel Kafka コネクターディストリビューションは、Red Hat Integration の一部として利用できます。
ディストリビューション | 説明 | 場所 |
---|---|---|
Camel Kafka コネクター |
| |
Maven リポジトリー | Camel Kafka Connector のすべての Maven アーティファクト | |
ソースコード | Camel Kafka コネクターのすべてのソースコード | |
デモンストレーションサンプル | Camel Kafka Connector サンプルおよび Debezium コミュニティーサンプル |
Red Hat Integration で 利用可能な Camel Kafka Connect ディストリビューションにアクセスするには、Red Hat Integration のサブスクリプションが必要で、Red Hat カスタマーポータルにログインする必要があります。
第2章 AMQ Streams on OpenShift での Camel Kafka Connector のデプロイ
本章では、Camel Kafka Connector を AMQ Streams on OpenShift にインストールする方法と、サンプルコネクターを使用する方法について説明します。
2.1. コンテナーイメージの registry.redhat.io を使用した認証
Camel Kafka Connector コンテナーイメージを OpenShift にデプロイする前に、registry.redhat.io
で認証を設定します。
前提条件
- OpenShift Container Platform クラスターへアクセスできるクラスター管理者権限。
-
OpenShift
oc
クライアントツールがインストール済みであること。詳細は、OpenShift CLI のドキュメント を参照してください。
手順
管理者として OpenShift クラスターにログインします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc login --user system:admin --token=my-token --server=https://my-cluster.example.com:6443
$ oc login --user system:admin --token=my-token --server=https://my-cluster.example.com:6443
Camel Kafka Connector をデプロイするプロジェクトを開きます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc project myproject
$ oc project myproject
Red Hat カスタマーポータルアカウントを使用して
docker-registry
シークレットを作成します。PULL_SECRET_NAME
は作成するシークレットに置き換えます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create secret docker-registry PULL_SECRET_NAME \ --docker-server=registry.redhat.io \ --docker-username=CUSTOMER_PORTAL_USERNAME \ --docker-password=CUSTOMER_PORTAL_PASSWORD \ --docker-email=EMAIL_ADDRESS
$ oc create secret docker-registry PULL_SECRET_NAME \ --docker-server=registry.redhat.io \ --docker-username=CUSTOMER_PORTAL_USERNAME \ --docker-password=CUSTOMER_PORTAL_PASSWORD \ --docker-email=EMAIL_ADDRESS
以下の出力が表示されるはずです。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow secret/PULL_SECRET_NAME created
secret/PULL_SECRET_NAME created
重要この
docker-registry
シークレットを、registry.redhat.io
に対して認証されるすべての OpenShift プロジェクト namespace に作成する必要があります。シークレットをサービスアカウントにリンクして、シークレットをイメージをプルするために使用します。以下は、
default
サービスアカウントを使用する例になります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc secrets link default PULL_SECRET_NAME --for=pull
$ oc secrets link default PULL_SECRET_NAME --for=pull
サービスアカウント名は、OpenShift Pod が使用する名前と一致する必要があります。
シークレットを
builder
サービスアカウントにリンクし、ビルドイメージをプッシュおよびプルするためにシークレットを使用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc secrets link builder PULL_SECRET_NAME
$ oc secrets link builder PULL_SECRET_NAME
注記Red Hat のユーザー名とパスワードを使用してプルシークレットを作成したくない場合は、レジストリーサービスアカウントを使用して認証トークンを作成できます。
その他のリソース
コンテナーイメージに対する Red Hat の認証に関する詳細は、以下を参照してください。
2.2. OpenShift での AMQ Streams および Kafka Connect S2I のインストール
Camel Kafka Connector をインストールするには、AMQ Streams および S2I (Source-2-Image) のある Kafka Connect が必要です。AMQ Streams がインストールされていない場合は、OperatorHub から OpenShift クラスターに AMQ Streams Operator をインストールできます。OperatorHub は OpenShift Container Platform Web コンソールから使用でき、クラスター管理者が Operator を検出およびインストールするためのインターフェイスを提供します。詳細は、OpenShift のドキュメント を参照してください。
前提条件
- OpenShift Container Platform クラスターへアクセスできるクラスター管理者権限。
-
「コンテナーイメージの registry.redhat.io を使用した認証」 の手順で
registry.redhat.io
で認証します。 - AMQ Streams および Kafka Connect S2I のインストールに関する詳細は、AMQ Streams on OpenShift の使用 を参照してください。ここでは、OpenShift OperatorHub を使用したインストールの簡単なデフォルトの例を示します。
手順
- OpenShift Container Platform Web コンソールで、クラスター管理者権限を持つアカウントを使用してログインします。
-
ツールバーの Project ドロップダウンメニューからプロジェクトを選択します (例:
myproject
)。これは、registry.redhat.io
で認証したプロジェクトでなければなりません。 - 左側のナビゲーションメニューで、Operators > OperatorHub とクリックします。
-
Filter by keyword テキストボックスに
AMQ
を入力し、Red Hat Integration - AMQ Streams Operator を見つけます。 - Operator に関する情報を読み、Install をクリックして Operator サブスクリプションページを表示します。
サブスクリプション設定を選択します。以下に例を示します。
- Update Channel > stable
- Installation Mode > A specific namespace on the cluster > myproject
Approval Strategy > Automatic
注記これら設定は、環境の特定の要件によって異なります。詳細は、OpenShift ドキュメントの Operator のクラスターへの追加 を参照してください。
- Install をクリックし、Operator が使用できるようになるまでしばらく待ちます。
新しい Kafka ブローカークラスターを作成します。
- Red Hat Integration - AMQ Streams > Provided APIs > Kafka で Create Instance をクリックし、新しい Kafka ブローカークラスターを作成します。
適切にカスタムリソース定義を編集し、Create をクリックします。
重要デフォルトの例では、3 つの Zookeeper ノード、3 つの Kafka ノード、および
ephemeral
ストレージを備えた Kafka クラスターを作成します。この一時ストレージは開発およびテストにのみ適しており、実稼働環境には適していません。詳細は、AMQ Streams on OpenShift の使用 参照してください。
新しい Kafka Connect S2I クラスターを作成します。
- Red Hat Integration - AMQ Streams > Provided APIs > Kafka Connect S2I で Create Instance をクリックし、OpenShift S2I サポートのある新しい Kafka Connect クラスターを作成します。
- 適切にカスタムリソース定義を編集し、Create をクリックします。S2I のある Kafka Connect の詳細は、AMQ Streams on OpenShift の使用 参照してください。
- Workloads > Pods と選択し、デプロイされたリソースが OpenShift 上で実行されていることを確認します。
その他のリソース
- OpenShift ドキュメントの Operator のクラスターへの追加
2.3. OpenShift での Kafka Connect S2I を使用した Camel Kafka コネクターのデプロイ
ここでは、AMQ Streams で Kafka Connect S2I (Source-2-Image) を使用して、Camel Kafka コネクターを既存の Docker ベースの Kafka Connect イメージに追加し、新しいイメージをビルドする方法を説明します。AWS2 S3 Camel Kafka コネクターのサンプルを使用して Camel Kafka コネクタープラグインのインスタンスを作成する方法も紹介します。
前提条件
- OpenShift Container Platform クラスターへアクセスできるクラスター管理者権限。
- AMQ Streams および S2I サポートのある Kafka Connect が OpenShift クラスターにインストールされていること。詳細は 「OpenShift での AMQ Streams および Kafka Connect S2I のインストール」 を参照してください。
選択した Camel Kafka コネクターの JAR ファイルは、Early-access Maven リポジトリー から
.zip
またはtar.gz
形式でダウンロードされます。このセクションの例では、AWS2 S3 ソースコネクター を使用します。各コネクターのファイルは、次のように独自のサブディレクトリーに配置する必要があります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow camel-kafka-connector-VERSION/connectors/camel-aws-s3-kafka-connector
camel-kafka-connector-VERSION/connectors/camel-aws-s3-kafka-connector
- このセクションの例のコネクターの Amazon S3 バケットへのアクセス。
手順
以下の例のように、管理者で OpenShift クラスターにログインします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc login --user system:admin --token=my-token --server=https://my-cluster.example.com:6443
$ oc login --user system:admin --token=my-token --server=https://my-cluster.example.com:6443
Kafka Connect S2I がインストールされているプロジェクトに切り替えます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc project myproject
$ oc project myproject
ダウンロードした Camel Kafka コネクターを既存の Kafka Connect Docker イメージビルドに追加し、新しいイメージビルドが新しいコネクターで設定するのを待ちます。
注記この例では、
my-connect-cluster-connect
は、「OpenShift での AMQ Streams および Kafka Connect S2I のインストール」 で作成した Kafka Connect S2I クラスターの名前と一致させる必要があります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc start-build my-connect-cluster-connect --from-dir=./camel-kafka-connector-VERSION/connectors/ --follow
$ oc start-build my-connect-cluster-connect --from-dir=./camel-kafka-connector-VERSION/connectors/ --follow Uploading directory "camel-kafka-connector-VERSION/connectors" as binary input for the build ... ... Uploading finished build.build.openshift.io/my-connect-cluster-connect-2 started Receiving source from STDIN as archive ... Caching blobs under "/var/cache/blobs". Getting image source signatures ... Writing manifest to image destination Storing signatures Generating dockerfile with builder image image-registry.openshift-image-registry.svc:5000/myproject/my-connect-cluster-connect-source@sha256:12d5ed92510941f1569faa449665e9fc6ea544e67b7ae189ec6b8df434e121f4 STEP 1: FROM image-registry.openshift-image-registry.svc:5000/myproject/my-connect-cluster-connect-source@sha256:12d5ed92510941f1569faa449665e9fc6ea544e67b7ae189ec6b8df434e121f4 STEP 2: LABEL "io.openshift.build.image"="image-registry.openshift-image-registry.svc:5000/myproject/my-connect-cluster-connect-source@sha256:12d5ed92510941f1569faa449665e9fc6ea544e67b7ae189ec6b8df434e121f4" "io.openshift.build.source-location"="/tmp/build/inputs" STEP 3: ENV OPENSHIFT_BUILD_NAME="my-connect-cluster-connect-2" OPENSHIFT_BUILD_NAMESPACE="myproject" STEP 4: USER root STEP 5: COPY upload/src /tmp/src STEP 6: RUN chown -R 1001:0 /tmp/src STEP 7: USER 1001 STEP 8: RUN /opt/kafka/s2i/assemble Assembling plugins into custom plugin directory /tmp/kafka-plugins Moving plugins to /tmp/kafka-plugins STEP 9: CMD /opt/kafka/s2i/run STEP 10: COMMIT temp.builder.openshift.io/myproject/my-connect-cluster-connect-2:d0873588 Getting image source signatures ... Writing manifest to image destination Storing signatures ... Pushing image image-registry.openshift-image-registry.svc:5000/myproject/my-connect-cluster-connect:latest ... Getting image source signatures ... Writing manifest to image destination Storing signatures Successfully pushed image-registry.openshift-image-registry.svc:5000/myproject/my-connect-cluster-connect@sha256:9db57d33df6d0494ea6ee6e4696fcaf79eb81aabeb0bbc180dec5324d33e7eda Push successful
以下のように、Camel Kafka Connector が Kafka Connect クラスターで利用できることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc exec -i `oc get pods --field-selector status.phase=Running -l strimzi.io/name=my-connect-cluster-connect -o=jsonpath='{.items[0].metadata.name}'` -- curl -s http://my-connect-cluster-connect-api:8083/connector-plugins
oc exec -i `oc get pods --field-selector status.phase=Running -l strimzi.io/name=my-connect-cluster-connect -o=jsonpath='{.items[0].metadata.name}'` -- curl -s http://my-connect-cluster-connect-api:8083/connector-plugins
以下のような出力が表示されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [{"class":"org.apache.kafka.connect.file.FileStreamSinkConnector","type":"sink","version":"2.5.0.redhat-00003"},{"class":"org.apache.kafka.connect.file.FileStreamSourceConnector","type":"source","version":"2.5.0.redhat-00003"},{"class":"org.apache.kafka.connect.mirror.MirrorCheckpointConnector","type":"source","version":"1"},{"class":"org.apache.kafka.connect.mirror.MirrorHeartbeatConnector","type":"source","version":"1"},{"class":"org.apache.kafka.connect.mirror.MirrorSourceConnector","type":"source","version":"1"}]
[{"class":"org.apache.kafka.connect.file.FileStreamSinkConnector","type":"sink","version":"2.5.0.redhat-00003"},{"class":"org.apache.kafka.connect.file.FileStreamSourceConnector","type":"source","version":"2.5.0.redhat-00003"},{"class":"org.apache.kafka.connect.mirror.MirrorCheckpointConnector","type":"source","version":"1"},{"class":"org.apache.kafka.connect.mirror.MirrorHeartbeatConnector","type":"source","version":"1"},{"class":"org.apache.kafka.connect.mirror.MirrorSourceConnector","type":"source","version":"1"}]
以下のアノテーションを使用して、特定のカスタムリソースを使用した Camel Kafka コネクターをインスタンス化を有効にします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc annotate kafkaconnects2is my-connect-cluster-connect strimzi.io/use-connector-resources=true kafkaconnects2i.kafka.strimzi.io/my-connect-cluster-connect annotated
oc annotate kafkaconnects2is my-connect-cluster-connect strimzi.io/use-connector-resources=true kafkaconnects2i.kafka.strimzi.io/my-connect-cluster-connect annotated
重要use-connector-resources
オプションが有効になっている場合は、Kafka Connect API サーバーを使用しないでください。Kafka Connect Operator は変更をすべて元に戻します。コネクター設定が含まれる特定のカスタムリソースを作成して、コネクターインスタンスを作成します。以下の例は、AWS2 S3 ソースコネクタープラグインの設定を示しています。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f - << EOF apiVersion: kafka.strimzi.io/v1alpha1 kind: KafkaConnector metadata: name: s3-source-connector namespace: myproject labels: strimzi.io/cluster: my-connect-cluster-connect spec: class: org.apache.camel.kafkaconnector.aws2s3.CamelAws2s3SourceConnector tasksMax: 1 config: key.converter: org.apache.kafka.connect.storage.StringConverter value.converter: org.apache.kafka.connect.storage.StringConverter topics: s3-topic camel.source.path.bucketNameOrArn: camel-kafka-connector camel.source.maxPollDuration: 10000 camel.component.aws2-s3.accessKey: xxxx camel.component.aws2-s3.secretKey: yyyy camel.component.aws2-s3.region: region EOF kafkaconnector.kafka.strimzi.io/s3-source-connector created
oc apply -f - << EOF apiVersion: kafka.strimzi.io/v1alpha1 kind: KafkaConnector metadata: name: s3-source-connector namespace: myproject labels: strimzi.io/cluster: my-connect-cluster-connect spec: class: org.apache.camel.kafkaconnector.aws2s3.CamelAws2s3SourceConnector tasksMax: 1 config: key.converter: org.apache.kafka.connect.storage.StringConverter value.converter: org.apache.kafka.connect.storage.StringConverter topics: s3-topic camel.source.path.bucketNameOrArn: camel-kafka-connector camel.source.maxPollDuration: 10000 camel.component.aws2-s3.accessKey: xxxx camel.component.aws2-s3.secretKey: yyyy camel.component.aws2-s3.region: region EOF kafkaconnector.kafka.strimzi.io/s3-source-connector created
以下のコマンド例を使用して、コネクターの状態を確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc exec -i `oc get pods --field-selector status.phase=Running -l strimzi.io/name=my-connect-cluster-connect -o=jsonpath='{.items[0].metadata.name}'` -- curl -s http://my-connect-cluster-connect-api:8083/connectors/s3-source-connector/status
oc exec -i `oc get pods --field-selector status.phase=Running -l strimzi.io/name=my-connect-cluster-connect -o=jsonpath='{.items[0].metadata.name}'` -- curl -s http://my-connect-cluster-connect-api:8083/connectors/s3-source-connector/status
-
AWS コンソールに接続し、ファイルを
camel-kafka-connector
AWS S3 バケットにアップロードして、Camel Kafka ルートをアクティブ化します。 以下のように、Kafka コンソールコンシューマーを実行し、トピックから受信したメッセージを確認できます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc exec -i -c kafka my-cluster-kafka-0 -- bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic s3-topic --from-beginning CONTENTS_OF_FILE CONTENTS_OF_FILE ...
oc exec -i -c kafka my-cluster-kafka-0 -- bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic s3-topic --from-beginning CONTENTS_OF_FILE CONTENTS_OF_FILE ...
第3章 Camel Kafka Connector 開発者サンプルのデプロイ
Camel Kafka Connector では、選択したコネクターでデモンストレーションサンプルを利用できます。これは、https://github.com/jboss-fuse/camel-kafka-connector-examples から取得できます。本章では、Camel Kafka Connector インストールプラットフォームを基にして、これらのサンプルをデプロイする方法を説明します。
3.1. OpenShift での Camel Kafka Connector サンプルのデプロイ
ここでは、選択したコネクターの Camel Kafka Connector デモンストレーションサンプルを OpenShift にデプロイする方法を説明します。
前提条件
- 従う Procedure (手順) の各 readme を下方向にスクロールして、OpenShift - What is needed セクションを確認します。
手順
以下のいずれかのサンプルの GitHub readme に移動します。
- 選択したサンプルの readme の OpenShift セクションまで下方向にスクロールします。
- readme に記載されている手順に従い、サンプルを実行します。
その他のリソース
3.2. RHEL での Camel Kafka Connector サンプルのデプロイ
ここでは、選択したコネクターの Camel Kafka Connector デモンストレーションサンプルを Red Hat Enterprise Linux にデプロイする方法を説明します。
前提条件
- 従う Procedure (手順) の各 readme にある What is needed セクションを確認します。
手順
以下のいずれかのサンプルの GitHub readme に移動します。
- readme に記載されている手順に従い、サンプルを実行します。
第4章 Camel Kafka コネクターの拡張
本章では、Camel Kafka コネクターおよびコンポーネントを拡張し、カスタマイズする方法を説明します。Camel Kafka Connector は、コードを作成せずに Kafka Connect フレームワークで Camel コンポーネントを直接設定する簡単な方法を提供します。しかし、状況によっては、特定のユースケースに対して Camel Kafka Connector を拡張およびカスタマイズする場合があります。
4.1. Camel Kafka コネクターアグリゲーターの設定
Camel Kafka シンクコネクターを使用する一部のシナリオでは、Kafka レコードを外部シンクシステムに送信する前に、アグリゲーターを追加して Kafka レコードをバッチ処理することがあります。通常、このような場合、レコードの集約のために特定のバッチサイズとタイムアウトを定義します。完了したら、集約レコードが外部システムに送信されます。
Apache Camel によって提供されるアグリゲーターの 1 つを使用して、Camel Kafka Connector プロパティーで集約の設定を指定できます。または、Java でカスタムアグリゲーターを実装することもできます。ここでは、Camel Kafka Connector プロパティーで Camel アグリゲーターを設定する方法を説明します。
前提条件
- Camel Kafka Connector がインストール済みである必要があります (例: 「OpenShift での AMQ Streams および Kafka Connect S2I のインストール」 を参照)。
- シンクコネクターがデプロイ済みである必要があります (例: 「OpenShift での Kafka Connect S2I を使用した Camel Kafka コネクターのデプロイ」 を参照)。ここでは、AWS S3 シンクコネクターを使用する例を紹介します。
手順
インストールプラットフォームに応じて、シンクコネクターおよびアグリゲーターを Camel Kafka Connector プロパティーで設定します。
- OpenShift
以下の例は、カスタムリソースの AWS S3 シンクコネクターおよびアグリゲーター設定を示しています。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f - << EOF apiVersion: kafka.strimzi.io/v1alpha1 kind: KafkaConnector metadata: name: s3-sink-connector namespace: myproject labels: strimzi.io/cluster: my-connect-cluster spec: class: org.apache.camel.kafkaconnector.aws2s3.CamelAws2s3SinkConnector tasksMax: 1 config: key.converter: org.apache.kafka.connect.storage.StringConverter value.converter: org.apache.kafka.connect.storage.StringConverter topics: s3-topic camel.sink.path.bucketNameOrArn: camel-kafka-connector camel.sink.endpoint.keyName: ${date:now:yyyyMMdd-HHmmssSSS}-${exchangeId} # Camel aggregator settings camel.beans.aggregate: #class:org.apache.camel.kafkaconnector.aggregator.StringAggregator camel.beans.aggregation.size: 10 camel.beans.aggregation.timeout: 5000 camel.component.aws2-s3.accessKey: xxxx camel.component.aws2-s3.secretKey: yyyy camel.component.aws2-s3.region: region EOF
oc apply -f - << EOF apiVersion: kafka.strimzi.io/v1alpha1 kind: KafkaConnector metadata: name: s3-sink-connector namespace: myproject labels: strimzi.io/cluster: my-connect-cluster spec: class: org.apache.camel.kafkaconnector.aws2s3.CamelAws2s3SinkConnector tasksMax: 1 config: key.converter: org.apache.kafka.connect.storage.StringConverter value.converter: org.apache.kafka.connect.storage.StringConverter topics: s3-topic camel.sink.path.bucketNameOrArn: camel-kafka-connector camel.sink.endpoint.keyName: ${date:now:yyyyMMdd-HHmmssSSS}-${exchangeId} # Camel aggregator settings camel.beans.aggregate: #class:org.apache.camel.kafkaconnector.aggregator.StringAggregator camel.beans.aggregation.size: 10 camel.beans.aggregation.timeout: 5000 camel.component.aws2-s3.accessKey: xxxx camel.component.aws2-s3.secretKey: yyyy camel.component.aws2-s3.region: region EOF
- Red Hat Enterprise Linux
次の例は、
CamelAwss3SinkConnector.properties
ファイル内の AWS S3 シンクコネクターとアグリゲーターの設定を示しています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow name=CamelAWS2S3SinkConnector connector.class=org.apache.camel.kafkaconnector.aws2s3.CamelAws2s3SinkConnector key.converter=org.apache.kafka.connect.storage.StringConverter value.converter=org.apache.kafka.connect.storage.StringConverter topics=mytopic camel.sink.path.bucketNameOrArn=camel-kafka-connector camel.component.aws2-s3.access-key=xxxx camel.component.aws2-s3.secret-key=yyyy camel.component.aws2-s3.region=eu-west-1 camel.sink.endpoint.keyName=${date:now:yyyyMMdd-HHmmssSSS}-${exchangeId} # Camel aggregator settings camel.beans.aggregate=#class:org.apache.camel.kafkaconnector.aggregator.StringAggregator camel.beans.aggregation.size=10 camel.beans.aggregation.timeout=5000
name=CamelAWS2S3SinkConnector connector.class=org.apache.camel.kafkaconnector.aws2s3.CamelAws2s3SinkConnector key.converter=org.apache.kafka.connect.storage.StringConverter value.converter=org.apache.kafka.connect.storage.StringConverter topics=mytopic camel.sink.path.bucketNameOrArn=camel-kafka-connector camel.component.aws2-s3.access-key=xxxx camel.component.aws2-s3.secret-key=yyyy camel.component.aws2-s3.region=eu-west-1 camel.sink.endpoint.keyName=${date:now:yyyyMMdd-HHmmssSSS}-${exchangeId} # Camel aggregator settings camel.beans.aggregate=#class:org.apache.camel.kafkaconnector.aggregator.StringAggregator camel.beans.aggregation.size=10 camel.beans.aggregation.timeout=5000
4.2. カスタム Camel Kafka コネクターアグリゲーターの作成
Camel Kafka シンクコネクターを使用する一部のシナリオでは、Kafka レコードを外部シンクシステムに送信する前に、アグリゲーターを追加して Kafka レコードをバッチ処理することがあります。通常、このような場合、レコードの集約のために特定のバッチサイズとタイムアウトを定義します。完了したら、集約レコードが外部システムに送信されます。
独自のアグリゲーターを実装するか、Apache Camel が提供するアグリゲーターの 1 つを設定できます。このセクションでは、Camel AggregationStrategy
クラスを使用して Java でカスタムアグリゲーターを実装する方法について説明します。
前提条件
- Red Hat Fuse がインストール済みである必要があります。
手順
Camel
AggregationStrategy
クラスを実装して、独自のカスタムアグリゲーターを記述します。次に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow package org.apache.camel.kafkaconnector.aggregator; import org.apache.camel.AggregationStrategy; import org.apache.camel.Exchange; import org.apache.camel.Message; public class StringAggregator implements AggregationStrategy { @Override public Exchange aggregate(Exchange oldExchange, Exchange newExchange) { // lets append the old body to the new body if (oldExchange == null) { return newExchange; } String body = oldExchange.getIn().getBody(String.class); if (body != null) { Message newIn = newExchange.getIn(); String newBody = newIn.getBody(String.class); if (newBody != null) { body += System.lineSeparator() + newBody; } newIn.setBody(body); } return newExchange; } }
package org.apache.camel.kafkaconnector.aggregator; import org.apache.camel.AggregationStrategy; import org.apache.camel.Exchange; import org.apache.camel.Message; public class StringAggregator implements AggregationStrategy { @Override public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
1 // lets append the old body to the new body if (oldExchange == null) { return newExchange; } String body = oldExchange.getIn().getBody(String.class);
2 if (body != null) { Message newIn = newExchange.getIn(); String newBody = newIn.getBody(String.class); if (newBody != null) { body += System.lineSeparator() + newBody; } newIn.setBody(body); } return newExchange;
3 } }
- カスタムアグリゲーターコードを既存の Camel Kafka コネクターに追加します。「Maven archetype を使用した Camel Kafka コネクターの拡張」 を参照してください。
4.3. Camel Kafka Connector での Camel データフォーマットの設定
Camel Kafka Connector は、シンクおよびソースコネクターの Camel データフォーマットのマーシャリング/アンマーシャリングを提供します。たとえば、これらのフォーマットには Apache Avro、Base64、Google Protobuf、JSON、SOAP、Zip ファイルなどが含まれます。
通常、Camel DSL の Camel DataFormat
を使用して、異なる Camel データフォーマットとの間でメッセージをマーシャリングおよびアンマーシャリングします。たとえば、Camel File または JMS コンポーネントからメッセージを受信し、さらに処理するためにペイロードをアンマーシャリングする場合は、DataFormat
を使用して Camel DSL で実装できます。
Camel Kafka Connector を使用すると、コネクター設定でプロパティーを使用して、Camel データフォーマットのマーシャリングおよびアンマーシャリングを設定できます。このセクションでは、camel.sink.marshal: zipfile
プロパティーを使用して Camel Zip ファイルデータ形式のマーシャリングを設定する方法を示します。
前提条件
- OpenShift または Red Hat Enterprise Linux に Camel Kafka Connector がインストール済みである必要があります。
-
アーキタイプから開始したコネクターがビルド済みで、必要な依存関係を追加するために
pom.xml
が変更済みである必要があります。「Maven archetype を使用した Camel Kafka コネクターの拡張」を参照してください。
手順
インストールプラットフォームに応じて、Camel Kafka Connector 設定でデータフォーマットをマーシャリング/アンマーシャリングするためのコネクター設定を行います。
- OpenShift
以下の例は、カスタムリソースの AWS S3 シンクコネクターおよび Camel Zip データフォーマットの設定を示しています。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc apply -f - << EOF apiVersion: kafka.strimzi.io/v1alpha1 kind: KafkaConnector metadata: name: s3-sink-connector namespace: myproject labels: strimzi.io/cluster: my-connect-cluster spec: class: org.apache.camel.kafkaconnector.aws2s3.CamelAws2s3SinkConnector tasksMax: 1 config: key.converter: org.apache.kafka.connect.storage.StringConverter value.converter: org.apache.kafka.connect.storage.StringConverter topics: s3-topic camel.sink.path.bucketNameOrArn: camel-kafka-connector camel.sink.endpoint.keyName: ${date:now:yyyyMMdd-HHmmssSSS}-${exchangeId}.zip # Camel data format setting camel.sink.marshal: zipfile camel.component.aws2-s3.accessKey: xxxx camel.component.aws2-s3.secretKey: yyyy camel.component.aws2-s3.region: region EOF
oc apply -f - << EOF apiVersion: kafka.strimzi.io/v1alpha1 kind: KafkaConnector metadata: name: s3-sink-connector namespace: myproject labels: strimzi.io/cluster: my-connect-cluster spec: class: org.apache.camel.kafkaconnector.aws2s3.CamelAws2s3SinkConnector tasksMax: 1 config: key.converter: org.apache.kafka.connect.storage.StringConverter value.converter: org.apache.kafka.connect.storage.StringConverter topics: s3-topic camel.sink.path.bucketNameOrArn: camel-kafka-connector camel.sink.endpoint.keyName: ${date:now:yyyyMMdd-HHmmssSSS}-${exchangeId}.zip # Camel data format setting camel.sink.marshal: zipfile camel.component.aws2-s3.accessKey: xxxx camel.component.aws2-s3.secretKey: yyyy camel.component.aws2-s3.region: region EOF
- Red Hat Enterprise Linux
次の例は、
CamelAwss3SinkConnector.properties
ファイル内の AWS S3 シンクコネクターと Camel Zip データ設定を示しています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow name=CamelAWS2S3SinkConnector connector.class=org.apache.camel.kafkaconnector.aws2s3.CamelAws2s3SinkConnector key.converter=org.apache.kafka.connect.storage.StringConverter value.converter=org.apache.kafka.connect.storage.StringConverter topics=mytopic # Camel data format setting camel.sink.marshal=zipfile camel.sink.path.bucketNameOrArn=camel-kafka-connector camel.component.aws2-s3.access-key=xxxx camel.component.aws2-s3.secret-key=yyyy camel.component.aws2-s3.region=eu-west-1 camel.sink.endpoint.keyName=${date:now:yyyyMMdd-HHmmssSSS}-${exchangeId}.zip
name=CamelAWS2S3SinkConnector connector.class=org.apache.camel.kafkaconnector.aws2s3.CamelAws2s3SinkConnector key.converter=org.apache.kafka.connect.storage.StringConverter value.converter=org.apache.kafka.connect.storage.StringConverter topics=mytopic # Camel data format setting camel.sink.marshal=zipfile camel.sink.path.bucketNameOrArn=camel-kafka-connector camel.component.aws2-s3.access-key=xxxx camel.component.aws2-s3.secret-key=yyyy camel.component.aws2-s3.region=eu-west-1 camel.sink.endpoint.keyName=${date:now:yyyyMMdd-HHmmssSSS}-${exchangeId}.zip
4.4. Maven archetype を使用した Camel Kafka コネクターの拡張
状況によっては、Camel Kafka Connector システムを拡張する必要がある場合があります。たとえば、シンクコネクターを使用する場合は、Kafka レコードを外部シンクシステムに送信する前に、カスタムアグリゲーターを追加して Kafka レコードをバッチ処理することがあります。または、Apache Avro、Google Protobuf、JSON、Zip ファイルなどの Camel データフォーマットをマーシャリングまたはアンマーシャリングするためのコネクターを設定することがあります。
Maven camel-kafka-connector-extensible-archetype
を使用して、既存の Camel Kafka コネクターを拡張できます。archetype は、プロジェクト生成の一貫した方法を提供する Maven プロジェクトテンプレートです。ここでは、archetype を使用して拡張する Maven プロジェクトを作成する方法と、プロジェクトの依存関係を追加する方法を説明します。
Maven archetype を使用した追加の Kafka Connect コンバーターまたはトランスフォーマーの作成は、テクノロジープレビューには含まれず、コミュニティーサポートのみが対象となります。
前提条件
- Apache Maven がインストール済みである必要があります。
手順
mvn archetype:generate
コマンドを入力して Maven プロジェクトを作成し、Camel Kafka Connector を拡張します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow mvn archetype:generate -DarchetypeGroupId=org.apache.camel.kafkaconnector.archetypes -DarchetypeArtifactId=camel-kafka-connector-extensible-archetype -DarchetypeVersion=CONNECTOR_VERSION
$ mvn archetype:generate -DarchetypeGroupId=org.apache.camel.kafkaconnector.archetypes -DarchetypeArtifactId=camel-kafka-connector-extensible-archetype -DarchetypeVersion=CONNECTOR_VERSION [INFO] Scanning for projects... [INFO] [INFO] ------------------< org.apache.maven:standalone-pom >------------------- [INFO] Building Maven Stub Project (No POM) 1 [INFO] --------------------------------[ pom ]--------------------------------- [INFO] [INFO] >>> maven-archetype-plugin:3.1.2:generate (default-cli) > generate-sources @ standalone-pom >>> [INFO] [INFO] <<< maven-archetype-plugin:3.1.2:generate (default-cli) < generate-sources @ standalone-pom <<< [INFO] [INFO] [INFO] --- maven-archetype-plugin:3.1.2:generate (default-cli) @ standalone-pom --- [INFO] Generating project in Interactive mode [INFO] Archetype repository not defined. Using the one from [org.apache.camel.kafkaconnector.archetypes:camel-kafka-connector-extensible-archetype:0.4.0] found in catalog remote
プロンプトが表示されたら、各プロパティーの値を入力します。次の例では、
camel-aws2-s3-kafka-connector
を拡張しています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow Define value for property 'groupId': org.apache.camel.kafkaconnector.extended Define value for property 'artifactId': myconnector-extended Define value for property 'version' 1.0-SNAPSHOT: : Define value for property 'package' org.apache.camel.kafkaconnector.extended: : Define value for property 'camel-kafka-connector-name': camel-aws2-s3-kafka-connector [INFO] Using property: camel-kafka-connector-version = CONNECTOR_VERSION Confirm properties configuration: groupId: org.apache.camel.kafkaconnector.extended artifactId: myconnector-extended version: 1.0-SNAPSHOT package: org.apache.camel.kafkaconnector.extended camel-kafka-connector-name: camel-aws2-s3-kafka-connector camel-kafka-connector-version: CONNECTOR_VERSION
Define value for property 'groupId': org.apache.camel.kafkaconnector.extended Define value for property 'artifactId': myconnector-extended Define value for property 'version' 1.0-SNAPSHOT: : Define value for property 'package' org.apache.camel.kafkaconnector.extended: : Define value for property 'camel-kafka-connector-name': camel-aws2-s3-kafka-connector [INFO] Using property: camel-kafka-connector-version = CONNECTOR_VERSION Confirm properties configuration: groupId: org.apache.camel.kafkaconnector.extended artifactId: myconnector-extended version: 1.0-SNAPSHOT package: org.apache.camel.kafkaconnector.extended camel-kafka-connector-name: camel-aws2-s3-kafka-connector camel-kafka-connector-version: CONNECTOR_VERSION
Y
を入力してプロパティーを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow Y: : Y [INFO] ---------------------------------------------------------------------------- [INFO] Using following parameters for creating project from Archetype: camel-kafka-connector-extensible-archetype:CONNECTOR_VERSION [INFO] ---------------------------------------------------------------------------- [INFO] Parameter: groupId, Value: org.apache.camel.kafkaconnector.extended [INFO] Parameter: artifactId, Value: myconnector-extended [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] Parameter: package, Value: org.apache.camel.kafkaconnector.extended [INFO] Parameter: packageInPathFormat, Value: org/apache/camel/kafkaconnector/extended [INFO] Parameter: package, Value: org.apache.camel.kafkaconnector.extended [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] Parameter: groupId, Value: org.apache.camel.kafkaconnector.extended [INFO] Parameter: camel-kafka-connector-name, Value: camel-aws2-s3-kafka-connector [INFO] Parameter: camel-kafka-connector-version, Value: CONNECTOR_VERSION [INFO] Parameter: artifactId, Value: myconnector-extended [INFO] Project created from Archetype in dir: /home/workspace/myconnector-extended [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 05:44 min [INFO] Finished at: 2020-09-04T08:55:00+02:00 [INFO] ------------------------------------------------------------------------
Y: : Y [INFO] ---------------------------------------------------------------------------- [INFO] Using following parameters for creating project from Archetype: camel-kafka-connector-extensible-archetype:CONNECTOR_VERSION [INFO] ---------------------------------------------------------------------------- [INFO] Parameter: groupId, Value: org.apache.camel.kafkaconnector.extended [INFO] Parameter: artifactId, Value: myconnector-extended [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] Parameter: package, Value: org.apache.camel.kafkaconnector.extended [INFO] Parameter: packageInPathFormat, Value: org/apache/camel/kafkaconnector/extended [INFO] Parameter: package, Value: org.apache.camel.kafkaconnector.extended [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] Parameter: groupId, Value: org.apache.camel.kafkaconnector.extended [INFO] Parameter: camel-kafka-connector-name, Value: camel-aws2-s3-kafka-connector [INFO] Parameter: camel-kafka-connector-version, Value: CONNECTOR_VERSION [INFO] Parameter: artifactId, Value: myconnector-extended [INFO] Project created from Archetype in dir: /home/workspace/myconnector-extended [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 05:44 min [INFO] Finished at: 2020-09-04T08:55:00+02:00 [INFO] ------------------------------------------------------------------------
-
作成した Maven プロジェクトの
pom.xml
に必要な依存関係を入力します。 Maven プロジェクトをビルドして、拡張 Camel Kafka コネクター用の
.zip
またはtar.gz
ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow mvn clean package
mvn clean package
第5章 Camel Kafka Connector 設定リファレンス
本章では、Camel Kafka Connector を使用して設定できる Camel Kafka コネクターに関する参照情報を提供します。
このテクノロジープレビューリリースには、利用可能な Apache Camel Kafka コネクターのターゲットサブセットが含まれています。
コネクター | シンク | ソース |
---|---|---|
Amazon Web Services Kinesis | ||
Amazon Web Services S3 | ||
Amazon Web Services SNS | - | |
Amazon Web Services SQS | ||
Azure Storage Blob | - | |
Azure Storage Queue | - | |
Cassandra Query Language | ||
Elasticsearch | - | |
File | - | |
Hadoop Distributed File System | - | |
Hypertext Transfer Protocol | - | |
Java Database Connectivity | - | |
Java Message Service | ||
MongoDB | ||
RabbitMQ | ||
SQL | ||
SSH | ||
Syslog | ||
Timer | - |
5.1. Amazon Web Services Kinesis
5.1.1. camel-aws2-kinesis-kafka-connector のシンク設定
コネクターの説明: AWS SDK バージョン 2.x を使用して、AWS Kinesis Streams からおよび AWS Kinesis Streams へのレコードを消費および作成します。
camel-aws2-kinesis-kafka-connector をシンクとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。
<dependency> <groupId>org.apache.camel.kafkaconnector</groupId> <artifactId>camel-aws2-kinesis-kafka-connector</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel Kafka connector version --> </dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-aws2-kinesis-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。
connector.class=org.apache.camel.kafkaconnector.aws2kinesis.CamelAws2kinesisSinkConnector
connector.class=org.apache.camel.kafkaconnector.aws2kinesis.CamelAws2kinesisSinkConnector
camel-aws2-kinesis シンクコネクターは、以下に示す 27 個のオプションをサポートします。
名前 | 説明 | デフォルト | 必要性 | 優先順位 |
---|---|---|---|---|
camel.sink.path.streamName | ストリームの名前 | null | true | HIGH |
camel.sink.endpoint.amazonKinesisClient | このエンドポイントに対するすべての要求に使用する Amazon Kinesis クライアント。 | null | false | MEDIUM |
camel.sink.endpoint.cborEnabled | このオプションは、実行中に CBOR_ENABLED プロパティーを設定します。 | true | false | MEDIUM |
camel.sink.endpoint.overrideEndpoint | エンドポイントをオーバーライドする必要性を設定します。このオプションは uriEndpointOverride オプションと併用する必要があります。 | false | false | MEDIUM |
camel.sink.endpoint.proxyHost | Kinesis クライアントをインスタンス化する際にプロキシーホストを定義します。 | null | false | MEDIUM |
camel.sink.endpoint.proxyPort | Kinesis クライアントをインスタンス化する際にプロキシーポートを定義します。 | null | false | MEDIUM |
camel.sink.endpoint.proxyProtocol | Kinesis クライアントをインスタンス化する際にプロキシープロトコルを定義します。[HTTP] または [HTTPS] のいずれか。 | "HTTPS" | false | MEDIUM |
camel.sink.endpoint.region | Kinesis Firehose クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。 | null | false | MEDIUM |
camel.sink.endpoint.trustAllCertificates | エンドポイントを上書きするときにすべての証明書を信頼する場合。 | false | false | MEDIUM |
camel.sink.endpoint.uriEndpointOverride | オーバーライドする URI エンドポイントを設定します。このオプションは overrideEndpoint オプションと併用する必要があります。 | null | false | MEDIUM |
camel.sink.endpoint.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.sink.endpoint.accessKey | Amazon AWS Access Key | null | false | MEDIUM |
camel.sink.endpoint.secretKey | Amazon AWS Secret Key | null | false | MEDIUM |
camel.component.aws2-kinesis.amazonKinesisClient | このエンドポイントに対するすべての要求に使用する Amazon Kinesis クライアント。 | null | false | MEDIUM |
camel.component.aws2-kinesis.cborEnabled | このオプションは、実行中に CBOR_ENABLED プロパティーを設定します。 | true | false | MEDIUM |
camel.component.aws2-kinesis.configuration | コンポーネントの設定 | null | false | MEDIUM |
camel.component.aws2-kinesis.overrideEndpoint | エンドポイントをオーバーライドする必要性を設定します。このオプションは uriEndpointOverride オプションと併用する必要があります。 | false | false | MEDIUM |
camel.component.aws2-kinesis.proxyHost | Kinesis クライアントをインスタンス化する際にプロキシーホストを定義します。 | null | false | MEDIUM |
camel.component.aws2-kinesis.proxyPort | Kinesis クライアントをインスタンス化する際にプロキシーポートを定義します。 | null | false | MEDIUM |
camel.component.aws2-kinesis.proxyProtocol | Kinesis クライアントをインスタンス化する際にプロキシープロトコルを定義します。[HTTP] または [HTTPS] のいずれか。 | "HTTPS" | false | MEDIUM |
camel.component.aws2-kinesis.region | Kinesis Firehose クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。 | null | false | MEDIUM |
camel.component.aws2-kinesis.trustAllCertificates | エンドポイントを上書きするときにすべての証明書を信頼する場合。 | false | false | MEDIUM |
camel.component.aws2-kinesis.uriEndpointOverride | オーバーライドする URI エンドポイントを設定します。このオプションは overrideEndpoint オプションと併用する必要があります。 | null | false | MEDIUM |
camel.component.aws2-kinesis.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.component.aws2-kinesis.autowiredEnabled | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | false | MEDIUM |
camel.component.aws2-kinesis.accessKey | Amazon AWS Access Key | null | false | MEDIUM |
camel.component.aws2-kinesis.secretKey | Amazon AWS Secret Key | null | false | MEDIUM |
camel-aws2-kinesis シンクコネクターには、そのまま使えるコンバーターがありません。
camel-aws2-kinesis シンクコネクターは、以下のそのまま使える transforms をサポートしません。
org.apache.camel.kafkaconnector.aws2kinesis.transformers.KinesisRecordDataTransforms
org.apache.camel.kafkaconnector.aws2kinesis.transformers.KinesisRecordDataTransforms
camel-aws2-kinesis シンクコネクターにはそのまま使える集約ストラテジーがありません。
5.1.2. camel-aws2-kinesis-kafka-connector ソース設定
コネクターの説明: AWS SDK バージョン 2.x を使用して、AWS Kinesis Streams からおよび AWS Kinesis Streams へのレコードを消費および作成します。
camel-aws2-kinesis-kafka-connector をソースとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。
<dependency> <groupId>org.apache.camel.kafkaconnector</groupId> <artifactId>camel-aws2-kinesis-kafka-connector</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel Kafka connector version --> </dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-aws2-kinesis-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
Kafka コネクションでこのソースコネクターを使用するには、以下の connector.class を設定する必要があります。
connector.class=org.apache.camel.kafkaconnector.aws2kinesis.CamelAws2kinesisSourceConnector
connector.class=org.apache.camel.kafkaconnector.aws2kinesis.CamelAws2kinesisSourceConnector
camel-aws2-kinesis ソースコネクターは、以下に記載されている 55 個のオプションをサポートします。
名前 | 説明 | デフォルト | 必要性 | 優先順位 |
---|---|---|---|---|
camel.source.path.streamName | ストリームの名前 | null | true | HIGH |
camel.source.endpoint.amazonKinesisClient | このエンドポイントに対するすべての要求に使用する Amazon Kinesis クライアント。 | null | false | MEDIUM |
camel.source.endpoint.cborEnabled | このオプションは、実行中に CBOR_ENABLED プロパティーを設定します。 | true | false | MEDIUM |
camel.source.endpoint.overrideEndpoint | エンドポイントをオーバーライドする必要性を設定します。このオプションは uriEndpointOverride オプションと併用する必要があります。 | false | false | MEDIUM |
camel.source.endpoint.proxyHost | Kinesis クライアントをインスタンス化する際にプロキシーホストを定義します。 | null | false | MEDIUM |
camel.source.endpoint.proxyPort | Kinesis クライアントをインスタンス化する際にプロキシーポートを定義します。 | null | false | MEDIUM |
camel.source.endpoint.proxyProtocol | Kinesis クライアントをインスタンス化する際にプロキシープロトコルを定義します。[HTTP] または [HTTPS] のいずれか。 | "HTTPS" | false | MEDIUM |
camel.source.endpoint.region | Kinesis Firehose クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。 | null | false | MEDIUM |
camel.source.endpoint.trustAllCertificates | エンドポイントを上書きするときにすべての証明書を信頼する場合。 | false | false | MEDIUM |
camel.source.endpoint.uriEndpointOverride | オーバーライドする URI エンドポイントを設定します。このオプションは overrideEndpoint オプションと併用する必要があります。 | null | false | MEDIUM |
camel.source.endpoint.bridgeErrorHandler | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | false | MEDIUM |
camel.source.endpoint.iteratorType | Kinesis ストリームでレコードの取得を開始する場所を定義します。[AT_SEQUENCE_NUMBER]、[AFTER_SEQUENCE_NUMBER]、[TRIM_HORIZON]、[LATEST]、[AT_TIMESTAMP]、[null] のいずれか。 | "TRIM_HORIZON" | false | MEDIUM |
camel.source.endpoint.maxResultsPerRequest | 各ポーリングでフェッチされる最大レコード数。 | 1 | false | MEDIUM |
camel.source.endpoint.sendEmptyMessageWhenIdle | ポーリングコンシューマーがファイルをポーリングしなかった場合、このオプションを有効にして、代わりに空のメッセージ (ボディーなし) を送信できます。 | false | false | MEDIUM |
camel.source.endpoint.sequenceNumber | ポーリングを開始するシーケンス番号。iteratorType が AFTER_SEQUENCE_NUMBER または AT_SEQUENCE_NUMBER に設定されている場合に必要です。 | null | false | MEDIUM |
camel.source.endpoint.shardClosed | シャード (shard) が閉じられた場合の動作を定義します。使用できる値は ignore、silent、および fail です。ignore の場合、メッセージはログに記録され、コンシューマーは最初から再起動します。silent の場合は、ログには記録されず、コンシューマーは最初から起動します。fail の場合は、ReachedClosedStateException が発生します。[ignore]、[fail]、[silent] のいずれか。 | "ignore" | false | MEDIUM |
camel.source.endpoint.shardId | Kinesis ストリームでどの shardId からレコードを取得するかを定義します。 | null | false | MEDIUM |
camel.source.endpoint.exceptionHandler | コンシューマーによるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されないことに注意してください。デフォルトでは、コンシューマーは例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | null | false | MEDIUM |
camel.source.endpoint.exchangePattern | コンシューマーがエクスチェンジを作成する際に交換パターンを設定します。[InOnly]、[InOut]、[InOptionalOut] のいずれか。 | null | false | MEDIUM |
camel.source.endpoint.pollStrategy | プラグ可能な org.apache.camel.PollingConsumerPollingStrategy を使用すると、エクスチェンジが作成され、Camel でルーティングされる前に、通常はポーリング操作中に発生するエラー処理を制御するカスタム実装が提供できます。 | null | false | MEDIUM |
camel.source.endpoint.backoffErrorThreshold | backoffMultipler が開始する前に発生する必要がある後続のエラーポーリング (エラーによって失敗した) の数。 | null | false | MEDIUM |
camel.source.endpoint.backoffIdleThreshold | backoffMultipler が開始する前に発生する必要がある後続のアイドルポーリングの数。 | null | false | MEDIUM |
camel.source.endpoint.backoffMultiplier | 後続のアイドル状態/エラーが連続して発生した場合に、スケジュールされたポーリングコンシューマーのバックオフを許可します。乗数は、実際に次の試行が行われる前にスキップされるポーリングの数です。このオプションが使用されている場合は、backoffIdleThreshold や backoffErrorThreshold も設定する必要があります。 | null | false | MEDIUM |
camel.source.endpoint.delay | 次のポーリングまでの時間 (ミリ秒単位)。 | 500L | false | MEDIUM |
camel.source.endpoint.greedy | greedy が有効で、以前の実行が 1 つ以上のメッセージをポーリングした場合、ScheduledPollConsumer は即座に再度実行されます。 | false | false | MEDIUM |
camel.source.endpoint.initialDelay | 最初のポーリングが開始されるまでの時間 (ミリ秒単位)。 | 1000L | false | MEDIUM |
camel.source.endpoint.repeatCount | 実行の最大数を指定します。そのため、これを 1 に設定するとスケジューラーは 1 度だけ実行されます。これを 5 に設定した場合、5 回だけ実行されます。0 または負の値を設定すると、無制限に実行されます。 | 0L | false | MEDIUM |
camel.source.endpoint.runLoggingLevel | コンシューマーはポーリング時に開始/完了のログ行を記録します。このオプションを使用すると、ログレベルを設定できます。[TRACE]、[DEBUG]、[INFO]、[WARN]、[ERROR]、[OFF] のいずれか。 | "TRACE" | false | MEDIUM |
camel.source.endpoint.scheduledExecutorService | コンシューマーに使用するカスタム/共有スレッドプールを設定できます。デフォルトでは、各コンシューマーに独自の単一スレッドのスレッドプールがあります。 | null | false | MEDIUM |
camel.source.endpoint.scheduler | camel-spring または camel-quartz コンポーネントから cron スケジューラーを使用します。スケジューラーにビルドされた値 spring または quartz を使用。 | "none" | false | MEDIUM |
camel.source.endpoint.schedulerProperties | カスタムスケジューラーまたは Quartz や Spring ベースのスケジューラーを使用する場合に、追加のプロパティーを設定します。 | null | false | MEDIUM |
camel.source.endpoint.startScheduler | スケジューラーを自動起動するかどうか。 | true | false | MEDIUM |
camel.source.endpoint.timeUnit | initialDelay および delay オプションの時間単位。[NANOSECONDS]、[MICROSECONDS]、[MILLISECONDS]、[SECONDS]、[MINUTES]、[HOURS]、[DAYS] のいずれか。 | "MILLISECONDS" | false | MEDIUM |
camel.source.endpoint.useFixedDelay | 固定遅延または固定レートを使用するかどうかを制御します。詳細は、JDK の ScheduledExecutorService を参照してください。 | true | false | MEDIUM |
camel.source.endpoint.accessKey | Amazon AWS Access Key | null | false | MEDIUM |
camel.source.endpoint.secretKey | Amazon AWS Secret Key | null | false | MEDIUM |
camel.component.aws2-kinesis.amazonKinesisClient | このエンドポイントに対するすべての要求に使用する Amazon Kinesis クライアント。 | null | false | MEDIUM |
camel.component.aws2-kinesis.cborEnabled | このオプションは、実行中に CBOR_ENABLED プロパティーを設定します。 | true | false | MEDIUM |
camel.component.aws2-kinesis.configuration | コンポーネントの設定 | null | false | MEDIUM |
camel.component.aws2-kinesis.overrideEndpoint | エンドポイントをオーバーライドする必要性を設定します。このオプションは uriEndpointOverride オプションと併用する必要があります。 | false | false | MEDIUM |
camel.component.aws2-kinesis.proxyHost | Kinesis クライアントをインスタンス化する際にプロキシーホストを定義します。 | null | false | MEDIUM |
camel.component.aws2-kinesis.proxyPort | Kinesis クライアントをインスタンス化する際にプロキシーポートを定義します。 | null | false | MEDIUM |
camel.component.aws2-kinesis.proxyProtocol | Kinesis クライアントをインスタンス化する際にプロキシープロトコルを定義します。[HTTP] または [HTTPS] のいずれか。 | "HTTPS" | false | MEDIUM |
camel.component.aws2-kinesis.region | Kinesis Firehose クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。 | null | false | MEDIUM |
camel.component.aws2-kinesis.trustAllCertificates | エンドポイントを上書きするときにすべての証明書を信頼する場合。 | false | false | MEDIUM |
camel.component.aws2-kinesis.uriEndpointOverride | オーバーライドする URI エンドポイントを設定します。このオプションは overrideEndpoint オプションと併用する必要があります。 | null | false | MEDIUM |
camel.component.aws2-kinesis.bridgeErrorHandler | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | false | MEDIUM |
camel.component.aws2-kinesis.iteratorType | Kinesis ストリームでレコードの取得を開始する場所を定義します。[AT_SEQUENCE_NUMBER]、[AFTER_SEQUENCE_NUMBER]、[TRIM_HORIZON]、[LATEST]、[AT_TIMESTAMP]、[null] のいずれか。 | "TRIM_HORIZON" | false | MEDIUM |
camel.component.aws2-kinesis.maxResultsPerRequest | 各ポーリングでフェッチされる最大レコード数。 | 1 | false | MEDIUM |
camel.component.aws2-kinesis.sequenceNumber | ポーリングを開始するシーケンス番号。iteratorType が AFTER_SEQUENCE_NUMBER または AT_SEQUENCE_NUMBER に設定されている場合に必要です。 | null | false | MEDIUM |
camel.component.aws2-kinesis.shardClosed | シャード (shard) が閉じられた場合の動作を定義します。使用できる値は ignore、silent、および fail です。ignore の場合、メッセージはログに記録され、コンシューマーは最初から再起動します。silent の場合は、ログには記録されず、コンシューマーは最初から起動します。fail の場合は、ReachedClosedStateException が発生します。[ignore]、[fail]、[silent] のいずれか。 | "ignore" | false | MEDIUM |
camel.component.aws2-kinesis.shardId | Kinesis ストリームでどの shardId からレコードを取得するかを定義します。 | null | false | MEDIUM |
camel.component.aws2-kinesis.autowiredEnabled | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | false | MEDIUM |
camel.component.aws2-kinesis.accessKey | Amazon AWS Access Key | null | false | MEDIUM |
camel.component.aws2-kinesis.secretKey | Amazon AWS Secret Key | null | false | MEDIUM |
camel-aws2-kinesis ソースコネクターには、そのまま使えるコンバーターがありません。
camel-aws2-kinesis ソースコネクターは、以下のそのまま使える transforms をサポートしません。
org.apache.camel.kafkaconnector.aws2kinesis.transformers.KinesisRecordDataTransforms
org.apache.camel.kafkaconnector.aws2kinesis.transformers.KinesisRecordDataTransforms
camel-aws2-kinesis ソースコネクターにはそのまま使える集約ストラテジーがありません。
5.2. Amazon Web Services S3
5.2.1. camel-aws2-s3-kafka-connector のシンク設定
コネクターの説明: AWS SDK バージョン 2.x を使用して AWS S3 Storage Service からオブジェクトを保存および取得します。
camel-aws2-s3-kafka-connector をシンクとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。
<dependency> <groupId>org.apache.camel.kafkaconnector</groupId> <artifactId>camel-aws2-s3-kafka-connector</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel Kafka connector version --> </dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-aws2-s3-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。
connector.class=org.apache.camel.kafkaconnector.aws2s3.CamelAws2s3SinkConnector
connector.class=org.apache.camel.kafkaconnector.aws2s3.CamelAws2s3SinkConnector
camel-aws2-s3 シンクコネクターは、以下に示す 59 個のオプションをサポートします。
名前 | 説明 | デフォルト | 必要性 | 優先順位 |
---|---|---|---|---|
camel.sink.path.bucketNameOrArn | バケット名または ARN。 | null | true | HIGH |
camel.sink.endpoint.amazonS3Client | レジストリーの com.amazonaws.services.s3.AmazonS3 への参照。 | null | false | MEDIUM |
camel.sink.endpoint.amazonS3Presigner | リクエストの S3 Presigner。主に createDownloadLink 操作で使用されます。 | null | false | MEDIUM |
camel.sink.endpoint.autoCreateBucket | S3 バケット bucketName の自動作成の設定。moveAfterRead オプションが有効になっている場合も適用され、destinationBucket が存在しない場合は作成されます。 | true | false | MEDIUM |
camel.sink.endpoint.overrideEndpoint | エンドポイントをオーバーライドする必要性を設定します。このオプションは uriEndpointOverride オプションと併用する必要があります。 | false | false | MEDIUM |
camel.sink.endpoint.pojoRequest | POJO リクエストをボディーとして使用するかどうか。 | false | false | MEDIUM |
camel.sink.endpoint.policy | com.amazonaws.services.s3.AmazonS3#setBucketPolicy() メソッドに設定されるこのキューのポリシー。 | null | false | MEDIUM |
camel.sink.endpoint.proxyHost | SQS クライアントをインスタンス化するときにプロキシーホストを定義します。 | null | false | MEDIUM |
camel.sink.endpoint.proxyPort | クライアント定義内で使用されるプロキシーポートを指定します。 | null | false | MEDIUM |
camel.sink.endpoint.proxyProtocol | S3 クライアントをインスタンス化する際にプロキシープロトコルを定義します。[HTTP] または [HTTPS] のいずれか。 | "HTTPS" | false | MEDIUM |
camel.sink.endpoint.region | S3 クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。 | null | false | MEDIUM |
camel.sink.endpoint.trustAllCertificates | エンドポイントを上書きするときにすべての証明書を信頼する場合。 | false | false | MEDIUM |
camel.sink.endpoint.uriEndpointOverride | オーバーライドする URI エンドポイントを設定します。このオプションは overrideEndpoint オプションと併用する必要があります。 | null | false | MEDIUM |
camel.sink.endpoint.useDefaultCredentialsProvider | デフォルトのクレデンシャルプロバイダー経由でクレデンシャルをロードすること、または静的クレデンシャルが渡されることを S3 クライアントは想定すべきかどうかを設定します。 | false | false | MEDIUM |
camel.sink.endpoint.customerAlgorithm | CustomerKey が有効になっている場合に使用するカスタマーアルゴリズムを定義します。 | null | false | MEDIUM |
camel.sink.endpoint.customerKeyId | CustomerKey が有効になっている場合に使用するカスタマーキーの ID を定義します。 | null | false | MEDIUM |
camel.sink.endpoint.customerKeyMD5 | CustomerKey が有効になっている場合に使用するカスタマーキーの MD5 を定義します。 | null | false | MEDIUM |
camel.sink.endpoint.deleteAfterWrite | S3 ファイルのアップロード後にファイルオブジェクトを削除します。 | false | false | MEDIUM |
camel.sink.endpoint.keyName | endpoint パラメーター経由でバケットの要素のキー名を設定します。 | null | false | MEDIUM |
camel.sink.endpoint.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.sink.endpoint.multiPartUpload | true の場合、Camel はマルチパート形式のファイルをアップロードし、パートサイズは partSize のオプションによって決定されます。 | false | false | MEDIUM |
camel.sink.endpoint.operation | ユーザーがアップロードのみを実行したくない場合に実行する操作。[copyObject]、[listObjects]、[deleteObject]、[deleteBucket]、[listBuckets]、[getObject]、[getObjectRange] のいずれか。 | null | false | MEDIUM |
camel.sink.endpoint.partSize | マルチパートのアップロードで使用される partSize を設定します。デフォルトのサイズは 25M です。 | 26214400L | false | MEDIUM |
camel.sink.endpoint.storageClass | com.amazonaws.services.s3.model.PutObjectRequest リクエストに設定するストレージクラス。 | null | false | MEDIUM |
camel.sink.endpoint.awsKMSKeyId | KMS が有効になっている場合に使用する KMS キーの ID を定義します。 | null | false | MEDIUM |
camel.sink.endpoint.useAwsKMS | KMS を使用する必要があるかどうかを定義します。 | false | false | MEDIUM |
camel.sink.endpoint.useCustomerKey | カスタマーキーを使用する必要があるかどうかを定義します。 | false | false | MEDIUM |
camel.sink.endpoint.accessKey | Amazon AWS Access Key | null | false | MEDIUM |
camel.sink.endpoint.secretKey | Amazon AWS Secret Key | null | false | MEDIUM |
camel.component.aws2-s3.amazonS3Client | レジストリーの com.amazonaws.services.s3.AmazonS3 への参照。 | null | false | MEDIUM |
camel.component.aws2-s3.amazonS3Presigner | リクエストの S3 Presigner。主に createDownloadLink 操作で使用されます。 | null | false | MEDIUM |
camel.component.aws2-s3.autoCreateBucket | S3 バケット bucketName の自動作成の設定。moveAfterRead オプションが有効になっている場合も適用され、destinationBucket が存在しない場合は作成されます。 | true | false | MEDIUM |
camel.component.aws2-s3.configuration | コンポーネントの設定。 | null | false | MEDIUM |
camel.component.aws2-s3.overrideEndpoint | エンドポイントをオーバーライドする必要性を設定します。このオプションは uriEndpointOverride オプションと併用する必要があります。 | false | false | MEDIUM |
camel.component.aws2-s3.pojoRequest | POJO リクエストをボディーとして使用するかどうか。 | false | false | MEDIUM |
camel.component.aws2-s3.policy | com.amazonaws.services.s3.AmazonS3#setBucketPolicy() メソッドに設定されるこのキューのポリシー。 | null | false | MEDIUM |
camel.component.aws2-s3.proxyHost | SQS クライアントをインスタンス化するときにプロキシーホストを定義します。 | null | false | MEDIUM |
camel.component.aws2-s3.proxyPort | クライアント定義内で使用されるプロキシーポートを指定します。 | null | false | MEDIUM |
camel.component.aws2-s3.proxyProtocol | S3 クライアントをインスタンス化する際にプロキシープロトコルを定義します。[HTTP] または [HTTPS] のいずれか。 | "HTTPS" | false | MEDIUM |
camel.component.aws2-s3.region | S3 クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。 | null | false | MEDIUM |
camel.component.aws2-s3.trustAllCertificates | エンドポイントを上書きするときにすべての証明書を信頼する場合。 | false | false | MEDIUM |
camel.component.aws2-s3.uriEndpointOverride | オーバーライドする URI エンドポイントを設定します。このオプションは overrideEndpoint オプションと併用する必要があります。 | null | false | MEDIUM |
camel.component.aws2-s3.useDefaultCredentials Provider | デフォルトのクレデンシャルプロバイダー経由でクレデンシャルをロードすること、または静的クレデンシャルが渡されることを S3 クライアントは想定すべきかどうかを設定します。 | false | false | MEDIUM |
camel.component.aws2-s3.customerAlgorithm | CustomerKey が有効になっている場合に使用するカスタマーアルゴリズムを定義します。 | null | false | MEDIUM |
camel.component.aws2-s3.customerKeyId | CustomerKey が有効になっている場合に使用するカスタマーキーの ID を定義します。 | null | false | MEDIUM |
camel.component.aws2-s3.customerKeyMD5 | CustomerKey が有効になっている場合に使用するカスタマーキーの MD5 を定義します。 | null | false | MEDIUM |
camel.component.aws2-s3.deleteAfterWrite | S3 ファイルのアップロード後にファイルオブジェクトを削除します。 | false | false | MEDIUM |
camel.component.aws2-s3.keyName | endpoint パラメーター経由でバケットの要素のキー名を設定します。 | null | false | MEDIUM |
camel.component.aws2-s3.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.component.aws2-s3.multiPartUpload | true の場合、Camel はマルチパート形式のファイルをアップロードし、パートサイズは partSize のオプションによって決定されます。 | false | false | MEDIUM |
camel.component.aws2-s3.operation | ユーザーがアップロードのみを実行したくない場合に実行する操作。[copyObject]、[listObjects]、[deleteObject]、[deleteBucket]、[listBuckets]、[getObject]、[getObjectRange] のいずれか。 | null | false | MEDIUM |
camel.component.aws2-s3.partSize | マルチパートのアップロードで使用される partSize を設定します。デフォルトのサイズは 25M です。 | 26214400L | false | MEDIUM |
camel.component.aws2-s3.storageClass | com.amazonaws.services.s3.model.PutObjectRequest リクエストに設定するストレージクラス。 | null | false | MEDIUM |
camel.component.aws2-s3.awsKMSKeyId | KMS が有効になっている場合に使用する KMS キーの ID を定義します。 | null | false | MEDIUM |
camel.component.aws2-s3.useAwsKMS | KMS を使用する必要があるかどうかを定義します。 | false | false | MEDIUM |
camel.component.aws2-s3.useCustomerKey | カスタマーキーを使用する必要があるかどうかを定義します。 | false | false | MEDIUM |
camel.component.aws2-s3.autowiredEnabled | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | false | MEDIUM |
camel.component.aws2-s3.accessKey | Amazon AWS Access Key | null | false | MEDIUM |
camel.component.aws2-s3.secretKey | Amazon AWS Secret Key | null | false | MEDIUM |
camel-aws2-s3 シンクコネクターは、以下に示すそのまま使えるコンバーターを 1 つサポートします。
org.apache.camel.kafkaconnector.aws2s3.converters.S3ObjectConverter
org.apache.camel.kafkaconnector.aws2s3.converters.S3ObjectConverter
camel-aws2-s3 シンクコネクターは、以下に示すそのまま使える transforms を 1 つサポートします。
org.apache.camel.kafkaconnector.aws2s3.transformers.S3ObjectTransforms
org.apache.camel.kafkaconnector.aws2s3.transformers.S3ObjectTransforms
scamel-aws2-s3 シンクコネクターは、以下に示すそのまま使える集約ストラテジーを 1 つサポートします。
org.apache.camel.kafkaconnector.aws2s3.aggregation.NewlineAggregationStrategy
org.apache.camel.kafkaconnector.aws2s3.aggregation.NewlineAggregationStrategy
5.2.2. camel-aws2-s3-kafka-connector のソース設定
コネクターの説明: AWS SDK バージョン 2.x を使用して AWS S3 Storage Service からオブジェクトを保存および取得します。
camel-aws2-s3-kafka-connector をソースとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。
<dependency> <groupId>org.apache.camel.kafkaconnector</groupId> <artifactId>camel-aws2-s3-kafka-connector</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel Kafka connector version --> </dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-aws2-s3-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
Kafka コネクションでこのソースコネクターを使用するには、以下の connector.class を設定する必要があります。
connector.class=org.apache.camel.kafkaconnector.aws2s3.CamelAws2s3SourceConnector
connector.class=org.apache.camel.kafkaconnector.aws2s3.CamelAws2s3SourceConnector
camel-aws2-s3 ソースコネクターは、以下に示す 85 個のオプションをサポートします。
名前 | 説明 | デフォルト | 必要性 | 優先順位 |
---|---|---|---|---|
camel.source.path.bucketNameOrArn | バケット名または ARN。 | null | true | HIGH |
camel.source.endpoint.amazonS3Client | レジストリーの com.amazonaws.services.s3.AmazonS3 への参照。 | null | false | MEDIUM |
camel.source.endpoint.amazonS3Presigner | リクエストの S3 Presigner。主に createDownloadLink 操作で使用されます。 | null | false | MEDIUM |
camel.source.endpoint.autoCreateBucket | S3 バケット bucketName の自動作成の設定。moveAfterRead オプションが有効になっている場合も適用され、destinationBucket が存在しない場合は作成されます。 | true | false | MEDIUM |
camel.source.endpoint.overrideEndpoint | エンドポイントをオーバーライドする必要性を設定します。このオプションは uriEndpointOverride オプションと併用する必要があります。 | false | false | MEDIUM |
camel.source.endpoint.pojoRequest | POJO リクエストをボディーとして使用するかどうか。 | false | false | MEDIUM |
camel.source.endpoint.policy | com.amazonaws.services.s3.AmazonS3#setBucketPolicy() メソッドに設定されるこのキューのポリシー。 | null | false | MEDIUM |
camel.source.endpoint.proxyHost | SQS クライアントをインスタンス化するときにプロキシーホストを定義します。 | null | false | MEDIUM |
camel.source.endpoint.proxyPort | クライアント定義内で使用されるプロキシーポートを指定します。 | null | false | MEDIUM |
camel.source.endpoint.proxyProtocol | S3 クライアントをインスタンス化する際にプロキシープロトコルを定義します。[HTTP] または [HTTPS] のいずれか。 | "HTTPS" | false | MEDIUM |
camel.source.endpoint.region | S3 クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。 | null | false | MEDIUM |
camel.source.endpoint.trustAllCertificates | エンドポイントを上書きするときにすべての証明書を信頼する場合。 | false | false | MEDIUM |
camel.source.endpoint.uriEndpointOverride | オーバーライドする URI エンドポイントを設定します。このオプションは overrideEndpoint オプションと併用する必要があります。 | null | false | MEDIUM |
camel.source.endpoint.useDefaultCredentials Provider | デフォルトのクレデンシャルプロバイダー経由でクレデンシャルをロードすること、または静的クレデンシャルが渡されることを S3 クライアントは想定すべきかどうかを設定します。 | false | false | MEDIUM |
camel.source.endpoint.customerAlgorithm | CustomerKey が有効になっている場合に使用するカスタマーアルゴリズムを定義します。 | null | false | MEDIUM |
camel.source.endpoint.customerKeyId | CustomerKey が有効になっている場合に使用するカスタマーキーの ID を定義します。 | null | false | MEDIUM |
camel.source.endpoint.customerKeyMD5 | CustomerKey が有効になっている場合に使用するカスタマーキーの MD5 を定義します。 | null | false | MEDIUM |
camel.source.endpoint.bridgeErrorHandler | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | false | MEDIUM |
camel.source.endpoint.deleteAfterRead | 取得後に S3 からオブジェクトを削除します。削除は、エクスチェンジがコミットされた場合にのみ実行されます。ロールバックが発生すると、オブジェクトは削除されません。このオプションが false の場合、同じオブジェクトがポーリングで繰り返し取得されます。そのため、ルートで Idempotent Consumer EIP を使用して重複を除外する必要があります。AWS2S3Constants#BUCKET_NAME および AWS2S3Constants#KEY ヘッダーを使用してフィルターすることも、AWS2S3Constants#KEY ヘッダーのみを使用してフィルターすることもできます。 | true | false | MEDIUM |
camel.source.endpoint.delimiter | 対象のオブジェクトのみを消費するために com.amazonaws.services.s3.model.ListObjectsRequest で使用される区切り文字。 | null | false | MEDIUM |
camel.source.endpoint.destinationBucket | moveAfterRead が true に設定されている場合にオブジェクトを移動する必要がある宛先バケットを定義します。 | null | false | MEDIUM |
camel.source.endpoint.destinationBucketPrefix | オブジェクトを移動する必要があり、moveAfterRead が true に設定されている場合に使用する宛先バケット接頭辞を定義します。 | null | false | MEDIUM |
camel.source.endpoint.destinationBucketSuffix | オブジェクトを移動する必要があり、moveAfterRead が true に設定されている場合に使用する宛先バケット接尾辞を定義します。 | null | false | MEDIUM |
camel.source.endpoint.doneFileName | 指定すると、Camel は完了したファイルが存在する場合にのみファイルを消費します。 | null | false | MEDIUM |
camel.source.endpoint.fileName | 指定のファイル名を持つバケットからオブジェクトを取得します。 | null | false | MEDIUM |
camel.source.endpoint.includeBody | true の場合、S3Object エクスチェンジが消費され、ボディーに配置され、閉じられます。false の場合、S3Object ストリームは raw でボディーに配置され、ヘッダーは S3 オブジェクトメタデータで設定されます。このオプションは、autocloseBody オプションと密接に関係します。S3Object ストリームが消費されるため includeBody を true に設定した場合、includeBody が false であっても閉じられるため、S3Object ストリームを閉じるのは呼び出し側が判断します。しかし、includeBody が false の場合に autocloseBody を true に設定すると、エクスチェンジの完了時に S3Object ストリームを自動的に閉じるようにスケジュールされます。 | true | false | MEDIUM |
camel.source.endpoint.includeFolders | true の場合、フォルダー/ディレクトリーが消費されます。false の場合は無視され、エクスチェンジは作成されません。 | true | false | MEDIUM |
camel.source.endpoint.maxConnections | S3 クライアント設定の maxConnections パラメーターを設定します。 | 60 | false | MEDIUM |
camel.source.endpoint.maxMessagesPerPoll | 各ポーリングのポーリング制限としてメッセージの最大数を取得します。各ポーリングのポーリング制限としてメッセージの最大数を取得します。デフォルト値は 10 です。0 または負の値を使用すると、無制限として設定されます。 | 10 | false | MEDIUM |
camel.source.endpoint.moveAfterRead | オブジェクトの取得後に S3 バケットから別のバケットに移動します。操作を実行するには、destinationBucket オプションを設定する必要があります。copy bucket 操作は、エクスチェンジがコミットされた場合にのみ実行されます。ロールバックが発生した場合、オブジェクトは移動しません。 | false | false | MEDIUM |
camel.source.endpoint.prefix | 対象のオブジェクトのみを消費するために com.amazonaws.services.s3.model.ListObjectsRequest で使用される接頭辞。 | null | false | MEDIUM |
camel.source.endpoint.sendEmptyMessageWhenIdle | ポーリングコンシューマーがファイルをポーリングしなかった場合、このオプションを有効にして、代わりに空のメッセージ (ボディーなし) を送信できます。 | false | false | MEDIUM |
camel.source.endpoint.autocloseBody | このオプションが true で、includeBody が false の場合、エクスチェンジの完了時に S3Object.close() メソッドが呼び出されます。このオプションは includeBody オプションと密接に関係しています。includeBody を false に設定し、autocloseBody を false に設定した場合、S3Object ストリームを閉じるのは呼び出し側が判断します。autocloseBody を true に設定すると、S3Object ストリームが自動的に閉じられます。 | true | false | MEDIUM |
camel.source.endpoint.exceptionHandler | コンシューマーによるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されないことに注意してください。デフォルトでは、コンシューマーは例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | null | false | MEDIUM |
camel.source.endpoint.exchangePattern | コンシューマーがエクスチェンジを作成する際に交換パターンを設定します。[InOnly]、[InOut]、[InOptionalOut] のいずれか。 | null | false | MEDIUM |
camel.source.endpoint.pollStrategy | プラグ可能な org.apache.camel.PollingConsumerPollingStrategy を使用すると、エクスチェンジが作成され、Camel でルーティングされる前に、通常はポーリング操作中に発生するエラー処理を制御するカスタム実装が提供できます。 | null | false | MEDIUM |
camel.source.endpoint.backoffErrorThreshold | backoffMultipler が開始する前に発生する必要がある後続のエラーポーリング (エラーによって失敗した) の数。 | null | false | MEDIUM |
camel.source.endpoint.backoffIdleThreshold | backoffMultipler が開始する前に発生する必要がある後続のアイドルポーリングの数。 | null | false | MEDIUM |
camel.source.endpoint.backoffMultiplier | 後続のアイドル状態/エラーが連続して発生した場合に、スケジュールされたポーリングコンシューマーのバックオフを許可します。乗数は、実際に次の試行が行われる前にスキップされるポーリングの数です。このオプションが使用されている場合は、backoffIdleThreshold や backoffErrorThreshold も設定する必要があります。 | null | false | MEDIUM |
camel.source.endpoint.delay | 次のポーリングまでの時間 (ミリ秒単位)。 | 500L | false | MEDIUM |
camel.source.endpoint.greedy | greedy が有効で、以前の実行が 1 つ以上のメッセージをポーリングした場合、ScheduledPollConsumer は即座に再度実行されます。 | false | false | MEDIUM |
camel.source.endpoint.initialDelay | 最初のポーリングが開始されるまでの時間 (ミリ秒単位)。 | 1000L | false | MEDIUM |
camel.source.endpoint.repeatCount | 実行の最大数を指定します。そのため、これを 1 に設定するとスケジューラーは 1 度だけ実行されます。これを 5 に設定した場合、5 回だけ実行されます。0 または負の値を設定すると、無制限に実行されます。 | 0L | false | MEDIUM |
camel.source.endpoint.runLoggingLevel | コンシューマーはポーリング時に開始/完了のログ行を記録します。このオプションを使用すると、ログレベルを設定できます。[TRACE]、[DEBUG]、[INFO]、[WARN]、[ERROR]、[OFF] のいずれか。 | "TRACE" | false | MEDIUM |
camel.source.endpoint.scheduledExecutorService | コンシューマーに使用するカスタム/共有スレッドプールを設定できます。デフォルトでは、各コンシューマーに独自の単一スレッドのスレッドプールがあります。 | null | false | MEDIUM |
camel.source.endpoint.scheduler | camel-spring または camel-quartz コンポーネントから cron スケジューラーを使用します。スケジューラーにビルドされた値 spring または quartz を使用。 | "none" | false | MEDIUM |
camel.source.endpoint.schedulerProperties | カスタムスケジューラーまたは Quartz や Spring ベースのスケジューラーを使用する場合に、追加のプロパティーを設定します。 | null | false | MEDIUM |
camel.source.endpoint.startScheduler | スケジューラーを自動起動するかどうか。 | true | false | MEDIUM |
camel.source.endpoint.timeUnit | initialDelay および delay オプションの時間単位。[NANOSECONDS]、[MICROSECONDS]、[MILLISECONDS]、[SECONDS]、[MINUTES]、[HOURS]、[DAYS] のいずれか。 | "MILLISECONDS" | false | MEDIUM |
camel.source.endpoint.useFixedDelay | 固定遅延または固定レートを使用するかどうかを制御します。詳細は、JDK の ScheduledExecutorService を参照してください。 | true | false | MEDIUM |
camel.source.endpoint.accessKey | Amazon AWS Access Key | null | false | MEDIUM |
camel.source.endpoint.secretKey | Amazon AWS Secret Key | null | false | MEDIUM |
camel.component.aws2-s3.amazonS3Client | レジストリーの com.amazonaws.services.s3.AmazonS3 への参照。 | null | false | MEDIUM |
camel.component.aws2-s3.amazonS3Presigner | リクエストの S3 Presigner。主に createDownloadLink 操作で使用されます。 | null | false | MEDIUM |
camel.component.aws2-s3.autoCreateBucket | S3 バケット bucketName の自動作成の設定。moveAfterRead オプションが有効になっている場合も適用され、destinationBucket が存在しない場合は作成されます。 | true | false | MEDIUM |
camel.component.aws2-s3.configuration | コンポーネントの設定。 | null | false | MEDIUM |
camel.component.aws2-s3.overrideEndpoint | エンドポイントをオーバーライドする必要性を設定します。このオプションは uriEndpointOverride オプションと併用する必要があります。 | false | false | MEDIUM |
camel.component.aws2-s3.pojoRequest | POJO リクエストをボディーとして使用するかどうか。 | false | false | MEDIUM |
camel.component.aws2-s3.policy | com.amazonaws.services.s3.AmazonS3#setBucketPolicy() メソッドに設定されるこのキューのポリシー。 | null | false | MEDIUM |
camel.component.aws2-s3.proxyHost | SQS クライアントをインスタンス化するときにプロキシーホストを定義します。 | null | false | MEDIUM |
camel.component.aws2-s3.proxyPort | クライアント定義内で使用されるプロキシーポートを指定します。 | null | false | MEDIUM |
camel.component.aws2-s3.proxyProtocol | S3 クライアントをインスタンス化する際にプロキシープロトコルを定義します。[HTTP] または [HTTPS] のいずれか。 | "HTTPS" | false | MEDIUM |
camel.component.aws2-s3.region | S3 クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。 | null | false | MEDIUM |
camel.component.aws2-s3.trustAllCertificates | エンドポイントを上書きするときにすべての証明書を信頼する場合。 | false | false | MEDIUM |
camel.component.aws2-s3.uriEndpointOverride | オーバーライドする URI エンドポイントを設定します。このオプションは overrideEndpoint オプションと併用する必要があります。 | null | false | MEDIUM |
camel.component.aws2-s3.useDefaultCredentials Provider | デフォルトのクレデンシャルプロバイダー経由でクレデンシャルをロードすること、または静的クレデンシャルが渡されることを S3 クライアントは想定すべきかどうかを設定します。 | false | false | MEDIUM |
camel.component.aws2-s3.customerAlgorithm | CustomerKey が有効になっている場合に使用するカスタマーアルゴリズムを定義します。 | null | false | MEDIUM |
camel.component.aws2-s3.customerKeyId | CustomerKey が有効になっている場合に使用するカスタマーキーの ID を定義します。 | null | false | MEDIUM |
camel.component.aws2-s3.customerKeyMD5 | CustomerKey が有効になっている場合に使用するカスタマーキーの MD5 を定義します。 | null | false | MEDIUM |
camel.component.aws2-s3.bridgeErrorHandler | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | false | MEDIUM |
camel.component.aws2-s3.deleteAfterRead | 取得後に S3 からオブジェクトを削除します。削除は、エクスチェンジがコミットされた場合にのみ実行されます。ロールバックが発生すると、オブジェクトは削除されません。このオプションが false の場合、同じオブジェクトがポーリングで繰り返し取得されます。そのため、ルートで Idempotent Consumer EIP を使用して重複を除外する必要があります。AWS2S3Constants#BUCKET_NAME および AWS2S3Constants#KEY ヘッダーを使用してフィルターすることも、AWS2S3Constants#KEY ヘッダーのみを使用してフィルターすることもできます。 | true | false | MEDIUM |
camel.component.aws2-s3.delimiter | 対象のオブジェクトのみを消費するために com.amazonaws.services.s3.model.ListObjectsRequest で使用される区切り文字。 | null | false | MEDIUM |
camel.component.aws2-s3.destinationBucket | moveAfterRead が true に設定されている場合にオブジェクトを移動する必要がある宛先バケットを定義します。 | null | false | MEDIUM |
camel.component.aws2-s3.destinationBucketPrefix | オブジェクトを移動する必要があり、moveAfterRead が true に設定されている場合に使用する宛先バケット接頭辞を定義します。 | null | false | MEDIUM |
camel.component.aws2-s3.destinationBucketSuffix | オブジェクトを移動する必要があり、moveAfterRead が true に設定されている場合に使用する宛先バケット接尾辞を定義します。 | null | false | MEDIUM |
camel.component.aws2-s3.doneFileName | 指定すると、Camel は完了したファイルが存在する場合にのみファイルを消費します。 | null | false | MEDIUM |
camel.component.aws2-s3.fileName | 指定のファイル名を持つバケットからオブジェクトを取得します。 | null | false | MEDIUM |
camel.component.aws2-s3.includeBody | true の場合、S3Object エクスチェンジが消費され、ボディーに配置され、閉じられます。false の場合、S3Object ストリームは raw でボディーに配置され、ヘッダーは S3 オブジェクトメタデータで設定されます。このオプションは、autocloseBody オプションと密接に関係します。S3Object ストリームが消費されるため includeBody を true に設定した場合、includeBody が false であっても閉じられるため、S3Object ストリームを閉じるのは呼び出し側が判断します。しかし、includeBody が false の場合に autocloseBody を true に設定すると、エクスチェンジの完了時に S3Object ストリームを自動的に閉じるようにスケジュールされます。 | true | false | MEDIUM |
camel.component.aws2-s3.includeFolders | true の場合、フォルダー/ディレクトリーが消費されます。false の場合は無視され、エクスチェンジは作成されません。 | true | false | MEDIUM |
camel.component.aws2-s3.moveAfterRead | オブジェクトの取得後に S3 バケットから別のバケットに移動します。操作を実行するには、destinationBucket オプションを設定する必要があります。copy bucket 操作は、エクスチェンジがコミットされた場合にのみ実行されます。ロールバックが発生した場合、オブジェクトは移動しません。 | false | false | MEDIUM |
camel.component.aws2-s3.prefix | 対象のオブジェクトのみを消費するために com.amazonaws.services.s3.model.ListObjectsRequest で使用される接頭辞。 | null | false | MEDIUM |
camel.component.aws2-s3.autocloseBody | このオプションが true で、includeBody が false の場合、エクスチェンジの完了時に S3Object.close() メソッドが呼び出されます。このオプションは includeBody オプションと密接に関係しています。includeBody を false に設定し、autocloseBody を false に設定した場合、S3Object ストリームを閉じるのは呼び出し側が判断します。autocloseBody を true に設定すると、S3Object ストリームが自動的に閉じられます。 | true | false | MEDIUM |
camel.component.aws2-s3.autowiredEnabled | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | false | MEDIUM |
camel.component.aws2-s3.accessKey | Amazon AWS Access Key | null | false | MEDIUM |
camel.component.aws2-s3.secretKey | Amazon AWS Secret Key | null | false | MEDIUM |
camel-aws2-s3 ソースコネクターは、以下に示すそのまま使えるコンバーターを 1 つサポートします。
org.apache.camel.kafkaconnector.aws2s3.converters.S3ObjectConverter
org.apache.camel.kafkaconnector.aws2s3.converters.S3ObjectConverter
camel-aws2-s3 ソースコネクターは、以下に示すそのまま使える transforms を 1 つサポートします。
org.apache.camel.kafkaconnector.aws2s3.transformers.S3ObjectTransforms
org.apache.camel.kafkaconnector.aws2s3.transformers.S3ObjectTransforms
scamel-aws2-s3 ソースコネクターは、以下に示すそのまま使える集約ストラテジーを 1 つサポートします。
org.apache.camel.kafkaconnector.aws2s3.aggregation.NewlineAggregationStrategy
org.apache.camel.kafkaconnector.aws2s3.aggregation.NewlineAggregationStrategy
5.3. Amazon Web Services SNS
5.3.1. camel-aws2-sns-kafka-connector のシンク設定
コネクターの説明: AWS SDK バージョン 2.x を使用して AWS Simple Notification Topic にメッセージを送信します。
camel-aws2-sns-kafka-connector をシンクとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。
<dependency> <groupId>org.apache.camel.kafkaconnector</groupId> <artifactId>camel-aws2-sns-kafka-connector</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel Kafka connector version --> </dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-aws2-sns-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。
connector.class=org.apache.camel.kafkaconnector.aws2sns.CamelAws2snsSinkConnector
connector.class=org.apache.camel.kafkaconnector.aws2sns.CamelAws2snsSinkConnector
camel-aws2-sns シンクコネクターは、以下に示す 44 個のオプションをサポートします。
名前 | 説明 | デフォルト | 必要性 | 優先順位 |
---|---|---|---|---|
camel.sink.path.topicNameOrArn | TOPIC 名または ARN。 | null | true | HIGH |
camel.sink.endpoint.amazonSNSClient | AmazonSNS をクライアントとして使用します。 | null | false | MEDIUM |
camel.sink.endpoint.autoCreateTopic | トピックの自動作成を設定します。 | true | false | MEDIUM |
camel.sink.endpoint.headerFilterStrategy | カスタムの HeaderFilterStrategy を使用して、ヘッダーから Camel または Camel からヘッダーにマッピングします。 | null | false | MEDIUM |
camel.sink.endpoint.kmsMasterKeyId | Amazon SNS の AWS 管理のカスタマーマスターキー (CMK) の ID またはカスタム CMK の ID。 | null | false | MEDIUM |
camel.sink.endpoint.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.sink.endpoint.messageDeduplicationIdStrategy | FIFO トピックのみ。メッセージに messageDeduplicationId を設定するストラテジー。useExchangeId または useContentBasedDeduplication のいずれかをオプションとして使用できます。useContentBasedDeduplication オプションでは、メッセージに messageDeduplicationId が設定されません。[useExchangeId] または [useContentBasedDeduplication] のいずれか。 | "useExchangeId" | false | MEDIUM |
camel.sink.endpoint.messageGroupIdStrategy | FIFO トピックのみ。メッセージに messageGroupId を設定するストラテジー。useConstant、useExchangeId、usePropertyValue のいずれかをオプションとして使用できます。usePropertyValue オプションでは、CamelAwsMessageGroupId プロパティーの値が使用されます。[useConstant]、[useExchangeId]、[usePropertyValue] のいずれか。 | null | false | MEDIUM |
camel.sink.endpoint.messageStructure | json などの使用するメッセージ構造。 | null | false | MEDIUM |
camel.sink.endpoint.policy | このトピックのポリシー。デフォルトではクラスパスからロードされますが、classpath:、file:、または http: をプレフィックとして指定して、異なるシステムからリソースをロードすることもできます。 | null | false | MEDIUM |
camel.sink.endpoint.proxyHost | SNS クライアントをインスタンス化するときにプロキシーホストを定義します。 | null | false | MEDIUM |
camel.sink.endpoint.proxyPort | SNS クライアントをインスタンス化するときにプロキシーポートを定義します。 | null | false | MEDIUM |
camel.sink.endpoint.proxyProtocol | SNS クライアントをインスタンス化する際にプロキシープロトコルを定義します。[HTTP] または [HTTPS] のいずれか。 | "HTTPS" | false | MEDIUM |
camel.sink.endpoint.queueUrl | サブスクライブする queueUrl。 | null | false | MEDIUM |
camel.sink.endpoint.region | SNS クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。 | null | false | MEDIUM |
camel.sink.endpoint.serverSideEncryptionEnabled | サーバー側の暗号化がトピックで有効であるかどうかを定義します。 | false | false | MEDIUM |
camel.sink.endpoint.subject | メッセージヘッダー 'CamelAwsSnsSubject' が存在しない場合に使用されるサブジェクト。 | null | false | MEDIUM |
camel.sink.endpoint.subscribeSNStoSQS | SNS トピックと SQS との間のサブスクリプションを完了する必要があるかどうかを定義します。 | false | false | MEDIUM |
camel.sink.endpoint.trustAllCertificates | エンドポイントを上書きするときにすべての証明書を信頼する場合。 | false | false | MEDIUM |
camel.sink.endpoint.useDefaultCredentialsProvider | SNS クライアントが AWS infra インスタンスでクレデンシャルのロードすること、または静的クレデンシャルが渡されることを SNS クライアントが想定すべきかどうかを設定します。 | false | false | MEDIUM |
camel.sink.endpoint.accessKey | Amazon AWS Access Key | null | false | MEDIUM |
camel.sink.endpoint.secretKey | Amazon AWS Secret Key | null | false | MEDIUM |
camel.component.aws2-sns.amazonSNSClient | AmazonSNS をクライアントとして使用します。 | null | false | MEDIUM |
camel.component.aws2-sns.autoCreateTopic | トピックの自動作成を設定します。 | true | false | MEDIUM |
camel.component.aws2-sns.configuration | コンポーネントの設定 | null | false | MEDIUM |
camel.component.aws2-sns.kmsMasterKeyId | Amazon SNS の AWS 管理のカスタマーマスターキー (CMK) の ID またはカスタム CMK の ID。 | null | false | MEDIUM |
camel.component.aws2-sns.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.component.aws2-sns.messageDeduplicationId Strategy | FIFO トピックのみ。メッセージに messageDeduplicationId を設定するストラテジー。useExchangeId または useContentBasedDeduplication のいずれかをオプションとして使用できます。useContentBasedDeduplication オプションでは、メッセージに messageDeduplicationId が設定されません。[useExchangeId] または [useContentBasedDeduplication] のいずれか。 | "useExchangeId" | false | MEDIUM |
camel.component.aws2-sns.messageGroupIdStrategy | FIFO トピックのみ。メッセージに messageGroupId を設定するストラテジー。useConstant、useExchangeId、usePropertyValue のいずれかをオプションとして使用できます。usePropertyValue オプションでは、CamelAwsMessageGroupId プロパティーの値が使用されます。[useConstant]、[useExchangeId]、[usePropertyValue] のいずれか。 | null | false | MEDIUM |
camel.component.aws2-sns.messageStructure | json などの使用するメッセージ構造。 | null | false | MEDIUM |
camel.component.aws2-sns.policy | このトピックのポリシー。デフォルトではクラスパスからロードされますが、classpath:、file:、または http: をプレフィックとして指定して、異なるシステムからリソースをロードすることもできます。 | null | false | MEDIUM |
camel.component.aws2-sns.proxyHost | SNS クライアントをインスタンス化するときにプロキシーホストを定義します。 | null | false | MEDIUM |
camel.component.aws2-sns.proxyPort | SNS クライアントをインスタンス化するときにプロキシーポートを定義します。 | null | false | MEDIUM |
camel.component.aws2-sns.proxyProtocol | SNS クライアントをインスタンス化する際にプロキシープロトコルを定義します。[HTTP] または [HTTPS] のいずれか。 | "HTTPS" | false | MEDIUM |
camel.component.aws2-sns.queueUrl | サブスクライブする queueUrl。 | null | false | MEDIUM |
camel.component.aws2-sns.region | SNS クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。 | null | false | MEDIUM |
camel.component.aws2-sns.serverSideEncryption Enabled | サーバー側の暗号化がトピックで有効であるかどうかを定義します。 | false | false | MEDIUM |
camel.component.aws2-sns.subject | メッセージヘッダー 'CamelAwsSnsSubject' が存在しない場合に使用されるサブジェクト。 | null | false | MEDIUM |
camel.component.aws2-sns.subscribeSNStoSQS | SNS トピックと SQS との間のサブスクリプションを完了する必要があるかどうかを定義します。 | false | false | MEDIUM |
camel.component.aws2-sns.trustAllCertificates | エンドポイントを上書きするときにすべての証明書を信頼する場合。 | false | false | MEDIUM |
camel.component.aws2-sns.useDefaultCredentials Provider | SNS クライアントが AWS infra インスタンスでクレデンシャルのロードすること、または静的クレデンシャルが渡されることを SNS クライアントが想定すべきかどうかを設定します。 | false | false | MEDIUM |
camel.component.aws2-sns.autowiredEnabled | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | false | MEDIUM |
camel.component.aws2-sns.accessKey | Amazon AWS Access Key | null | false | MEDIUM |
camel.component.aws2-sns.secretKey | Amazon AWS Secret Key | null | false | MEDIUM |
camel-aws2-sns シンクコネクターには、そのまま使えるコンバーターがありません。
camel-aws2-sns シンクコネクターには、そのまま使える transforms がありません。
camel-aws2-sns シンクコネクターにはそのまま使える集約ストラテジーがありません。
5.4. Amazon Web Services SQS
5.4.1. camel-aws2-sqs-kafka-connector のシンク設定
コネクターの説明: AWS SDK バージョン 2.x を使用して AWS SQS サービスを送信先および送信元としてメッセージを送受信します。
camel-aws2-sqs-kafka-connector をシンクとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。
<dependency> <groupId>org.apache.camel.kafkaconnector</groupId> <artifactId>camel-aws2-sqs-kafka-connector</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel Kafka connector version --> </dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-aws2-sqs-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。
connector.class=org.apache.camel.kafkaconnector.aws2sqs.CamelAws2sqsSinkConnector
connector.class=org.apache.camel.kafkaconnector.aws2sqs.CamelAws2sqsSinkConnector
camel-aws2-sqs シンクコネクターは、以下に示す 54 個のオプションをサポートします。
名前 | 説明 | デフォルト | 必要性 | 優先順位 |
---|---|---|---|---|
camel.sink.path.queueNameOrArn | キュー名または ARN。 | null | true | HIGH |
camel.sink.endpoint.amazonAWSHost | Amazon AWS クラウドのホスト名。 | "amazonaws.com" | false | MEDIUM |
camel.sink.endpoint.amazonSQSClient | AmazonSQS をクライアントとして使用します。 | null | false | MEDIUM |
camel.sink.endpoint.autoCreateQueue | キューの自動作成の設定。 | true | false | MEDIUM |
camel.sink.endpoint.headerFilterStrategy | カスタムの HeaderFilterStrategy を使用して、ヘッダーから Camel または Camel からヘッダーにマッピングします。 | null | false | MEDIUM |
camel.sink.endpoint.protocol | SQS との通信に使用される基礎となるプロトコル。 | "https" | false | MEDIUM |
camel.sink.endpoint.proxyProtocol | SQS クライアントをインスタンス化する際にプロキシープロトコルを定義します。[HTTP] または [HTTPS] のいずれか。 | "HTTPS" | false | MEDIUM |
camel.sink.endpoint.queueOwnerAWSAccountId | 異なるアカウント所有者でキューを接続する必要がある場合は、キュー所有者の aws アカウント ID を指定します。 | null | false | MEDIUM |
camel.sink.endpoint.region | SQS クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。 | null | false | MEDIUM |
camel.sink.endpoint.trustAllCertificates | エンドポイントを上書きするときにすべての証明書を信頼する場合。 | false | false | MEDIUM |
camel.sink.endpoint.useDefaultCredentialsProvider | SQS クライアントが AWS infra インスタンスでクレデンシャルのロードすること、または静的クレデンシャルが渡されることを SNS クライアントが想定すべきかどうかを設定します。 | false | false | MEDIUM |
camel.sink.endpoint.delaySeconds | 数秒間メッセージの送信を遅延します。 | null | false | MEDIUM |
camel.sink.endpoint.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.sink.endpoint.messageDeduplicationIdStrategy | FIFO キューの場合のみ。メッセージに messageDeduplicationId を設定するストラテジー。useExchangeId または useContentBasedDeduplication のいずれかをオプションとして使用できます。useContentBasedDeduplication オプションでは、メッセージに messageDeduplicationId が設定されません。[useExchangeId] または [useContentBasedDeduplication] のいずれか。 | "useExchangeId" | false | MEDIUM |
camel.sink.endpoint.messageGroupIdStrategy | FIFO キューの場合のみ。メッセージに messageGroupId を設定するストラテジー。useConstant、useExchangeId、usePropertyValue のいずれかをオプションとして使用できます。usePropertyValue オプションでは、CamelAwsMessageGroupId プロパティーの値が使用されます。[useConstant]、[useExchangeId]、[usePropertyValue] のいずれか。 | null | false | MEDIUM |
camel.sink.endpoint.operation | ユーザーがメッセージ 1 つだけを送信したくない場合に実行する操作。[sendBatchMessage]、[deleteMessage]、[listQueues]、[purgeQueue] のいずれか。 | null | false | MEDIUM |
camel.sink.endpoint.delayQueue | delaySeconds オプションをキューまたは単一のメッセージに適用するかどうかを定義します。 | false | false | MEDIUM |
camel.sink.endpoint.queueUrl | queueUrl を明示的に定義します。queueUrl に影響を与えるその他のパラメーターはすべて無視されます。このパラメーターは、テストのために SQS の仮実装 (モック) に接続すること目的としています。 | null | false | MEDIUM |
camel.sink.endpoint.proxyHost | SQS クライアントをインスタンス化するときにプロキシーホストを定義します。 | null | false | MEDIUM |
camel.sink.endpoint.proxyPort | SQS クライアントをインスタンス化するときにプロキシーポートを定義します。 | null | false | MEDIUM |
camel.sink.endpoint.maximumMessageSize | このキューの SQS メッセージに含めることができる maximumMessageSize (バイト単位)。 | null | false | MEDIUM |
camel.sink.endpoint.messageRetentionPeriod | このキューの SQS によってメッセージが保持される messageRetentionPeriod (秒単位)。 | null | false | MEDIUM |
camel.sink.endpoint.policy | このキューのポリシー。デフォルトではクラスパスからロードできますが、classpath:、file:、または http: の接頭辞を付けて、別のシステムからリソースをロードできます。 | null | false | MEDIUM |
camel.sink.endpoint.receiveMessageWaitTimeSeconds | 要求で WaitTimeSeconds を指定しない場合は、キュー属性 ReceiveMessageWaitTimeSeconds を使用して待機時間を決定します。 | null | false | MEDIUM |
camel.sink.endpoint.redrivePolicy | DeadLetter キューにメッセージを送信するポリシーを指定します。Amazon ドキュメントで詳細を参照してください。 | null | false | MEDIUM |
camel.sink.endpoint.accessKey | Amazon AWS Access Key | null | false | MEDIUM |
camel.sink.endpoint.secretKey | Amazon AWS Secret Key | null | false | MEDIUM |
camel.component.aws2-sqs.amazonAWSHost | Amazon AWS クラウドのホスト名。 | "amazonaws.com" | false | MEDIUM |
camel.component.aws2-sqs.amazonSQSClient | AmazonSQS をクライアントとして使用します。 | null | false | MEDIUM |
camel.component.aws2-sqs.autoCreateQueue | キューの自動作成の設定。 | true | false | MEDIUM |
camel.component.aws2-sqs.configuration | AWS SQS のデフォルト設定。 | null | false | MEDIUM |
camel.component.aws2-sqs.protocol | SQS との通信に使用される基礎となるプロトコル。 | "https" | false | MEDIUM |
camel.component.aws2-sqs.proxyProtocol | SQS クライアントをインスタンス化する際にプロキシープロトコルを定義します。[HTTP] または [HTTPS] のいずれか。 | "HTTPS" | false | MEDIUM |
camel.component.aws2-sqs.queueOwnerAWSAccountId | 異なるアカウント所有者でキューを接続する必要がある場合は、キュー所有者の aws アカウント ID を指定します。 | null | false | MEDIUM |
camel.component.aws2-sqs.region | SQS クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。 | null | false | MEDIUM |
camel.component.aws2-sqs.trustAllCertificates | エンドポイントを上書きするときにすべての証明書を信頼する場合。 | false | false | MEDIUM |
camel.component.aws2-sqs.useDefaultCredentials Provider | SQS クライアントが AWS infra インスタンスでクレデンシャルのロードすること、または静的クレデンシャルが渡されることを SNS クライアントが想定すべきかどうかを設定します。 | false | false | MEDIUM |
camel.component.aws2-sqs.delaySeconds | 数秒間メッセージの送信を遅延します。 | null | false | MEDIUM |
camel.component.aws2-sqs.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.component.aws2-sqs.messageDeduplicationId Strategy | FIFO キューの場合のみ。メッセージに messageDeduplicationId を設定するストラテジー。useExchangeId または useContentBasedDeduplication のいずれかをオプションとして使用できます。useContentBasedDeduplication オプションでは、メッセージに messageDeduplicationId が設定されません。[useExchangeId] または [useContentBasedDeduplication] のいずれか。 | "useExchangeId" | false | MEDIUM |
camel.component.aws2-sqs.messageGroupIdStrategy | FIFO キューの場合のみ。メッセージに messageGroupId を設定するストラテジー。useConstant、useExchangeId、usePropertyValue のいずれかをオプションとして使用できます。usePropertyValue オプションでは、CamelAwsMessageGroupId プロパティーの値が使用されます。[useConstant]、[useExchangeId]、[usePropertyValue] のいずれか。 | null | false | MEDIUM |
camel.component.aws2-sqs.operation | ユーザーがメッセージ 1 つだけを送信したくない場合に実行する操作。[sendBatchMessage]、[deleteMessage]、[listQueues]、[purgeQueue] のいずれか。 | null | false | MEDIUM |
camel.component.aws2-sqs.autowiredEnabled | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | false | MEDIUM |
camel.component.aws2-sqs.delayQueue | delaySeconds オプションをキューまたは単一のメッセージに適用するかどうかを定義します。 | false | false | MEDIUM |
camel.component.aws2-sqs.queueUrl | queueUrl を明示的に定義します。queueUrl に影響を与えるその他のパラメーターはすべて無視されます。このパラメーターは、テストのために SQS の仮実装 (モック) に接続すること目的としています。 | null | false | MEDIUM |
camel.component.aws2-sqs.proxyHost | SQS クライアントをインスタンス化するときにプロキシーホストを定義します。 | null | false | MEDIUM |
camel.component.aws2-sqs.proxyPort | SQS クライアントをインスタンス化するときにプロキシーポートを定義します。 | null | false | MEDIUM |
camel.component.aws2-sqs.maximumMessageSize | このキューの SQS メッセージに含めることができる maximumMessageSize (バイト単位)。 | null | false | MEDIUM |
camel.component.aws2-sqs.messageRetentionPeriod | このキューの SQS によってメッセージが保持される messageRetentionPeriod (秒単位)。 | null | false | MEDIUM |
camel.component.aws2-sqs.policy | このキューのポリシー。デフォルトではクラスパスからロードできますが、classpath:、file:、または http: の接頭辞を付けて、別のシステムからリソースをロードできます。 | null | false | MEDIUM |
camel.component.aws2-sqs.receiveMessageWaitTime Seconds | 要求で WaitTimeSeconds を指定しない場合は、キュー属性 ReceiveMessageWaitTimeSeconds を使用して待機時間を決定します。 | null | false | MEDIUM |
camel.component.aws2-sqs.redrivePolicy | DeadLetter キューにメッセージを送信するポリシーを指定します。Amazon ドキュメントで詳細を参照してください。 | null | false | MEDIUM |
camel.component.aws2-sqs.accessKey | Amazon AWS Access Key | null | false | MEDIUM |
camel.component.aws2-sqs.secretKey | Amazon AWS Secret Key | null | false | MEDIUM |
camel-aws2-sqs シンクコネクターには、そのまま使えるコンバーターがありません。
camel-aws2-sqs シンクコネクターは、以下に示すそのまま使える transforms をサポートしません。
org.apache.camel.kafkaconnector.aws2sqs.transformers.SQSKeySetterTransforms
org.apache.camel.kafkaconnector.aws2sqs.transformers.SQSKeySetterTransforms
camel-aws2-sqs シンクコネクターにはそのまま使える集約ストラテジーがありません。
5.4.2. camel-aws2-sqs-kafka-connector source configuration
コネクターの説明: AWS SDK バージョン 2.x を使用して AWS SQS サービスを送信先および送信元としてメッセージを送受信します。
camel-aws2-sqs-kafka-connector をソースとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。
<dependency> <groupId>org.apache.camel.kafkaconnector</groupId> <artifactId>camel-aws2-sqs-kafka-connector</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel Kafka connector version --> </dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-aws2-sqs-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
Kafka コネクションでこのソースコネクターを使用するには、以下の connector.class を設定する必要があります。
connector.class=org.apache.camel.kafkaconnector.aws2sqs.CamelAws2sqsSourceConnector
connector.class=org.apache.camel.kafkaconnector.aws2sqs.CamelAws2sqsSourceConnector
camel-aws2-sqs ソースコネクターは、以下に示す 89 個のオプションをサポートします。
名前 | 説明 | デフォルト | 必要性 | 優先順位 |
---|---|---|---|---|
camel.source.path.queueNameOrArn | キュー名または ARN。 | null | true | HIGH |
camel.source.endpoint.amazonAWSHost | Amazon AWS クラウドのホスト名。 | "amazonaws.com" | false | MEDIUM |
camel.source.endpoint.amazonSQSClient | AmazonSQS をクライアントとして使用します。 | null | false | MEDIUM |
camel.source.endpoint.autoCreateQueue | キューの自動作成の設定。 | true | false | MEDIUM |
camel.source.endpoint.headerFilterStrategy | カスタムの HeaderFilterStrategy を使用して、ヘッダーから Camel または Camel からヘッダーにマッピングします。 | null | false | MEDIUM |
camel.source.endpoint.protocol | SQS との通信に使用される基礎となるプロトコル。 | "https" | false | MEDIUM |
camel.source.endpoint.proxyProtocol | SQS クライアントをインスタンス化する際にプロキシープロトコルを定義します。[HTTP] または [HTTPS] のいずれか。 | "HTTPS" | false | MEDIUM |
camel.source.endpoint.queueOwnerAWSAccountId | 異なるアカウント所有者でキューを接続する必要がある場合は、キュー所有者の aws アカウント ID を指定します。 | null | false | MEDIUM |
camel.source.endpoint.region | SQS クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。 | null | false | MEDIUM |
camel.source.endpoint.trustAllCertificates | エンドポイントを上書きするときにすべての証明書を信頼する場合。 | false | false | MEDIUM |
camel.source.endpoint.useDefaultCredentials Provider | SQS クライアントが AWS infra インスタンスでクレデンシャルのロードすること、または静的クレデンシャルが渡されることを SNS クライアントが想定すべきかどうかを設定します。 | false | false | MEDIUM |
camel.source.endpoint.attributeNames | 消費時に受け取る属性名のリスト。複数の値はコンマで区切ることができます。 | null | false | MEDIUM |
camel.source.endpoint.bridgeErrorHandler | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | false | MEDIUM |
camel.source.endpoint.concurrentConsumers | 複数のスレッドを使用して sqs キューをポーリングし、スループットを向上させることができます。 | 1 | false | MEDIUM |
camel.source.endpoint.defaultVisibilityTimeout | デフォルトの表示タイムアウト (秒単位)。 | null | false | MEDIUM |
camel.source.endpoint.deleteAfterRead | メッセージが読まれた後、SQS からメッセージを削除します。 | true | false | MEDIUM |
camel.source.endpoint.deleteIfFiltered | エクスチェンジがフィルターを通過できなかった場合に、DeleteMessage を SQS キューに送信するかどうか。false でエクスチェンジがルートのアップストリームの Camel フィルターを通過しない場合は、DeleteMessage を送信しないでください。 | true | false | MEDIUM |
camel.source.endpoint.extendMessageVisibility | 有効にすると、スケジュールされたバックグラウンドタスクにより、SQS でのメッセージの可視性が拡張され続けます。これは、メッセージの処理に時間がかかる場合に必要です。true に設定した場合は、defaultVisibilityTimeout を設定する必要があります。詳細については、Amazon ドキュメントを参照してください。 | false | false | MEDIUM |
camel.source.endpoint.kmsDataKeyReusePeriodSeconds | AWS KMS を再度呼び出す前に、Amazon SQS がデータキーを再利用してメッセージを暗号化または復号できる時間の長さ (秒単位)。60 秒 (1 分) から 86,400 秒 (24 時間) までの秒を表す整数。デフォルトは 300 (5 分) です。 | null | false | MEDIUM |
camel.source.endpoint.kmsMasterKeyId | Amazon SQS の AWS 管理のカスタマーマスターキー (CMK) の ID またはカスタム CMK の ID。 | null | false | MEDIUM |
camel.source.endpoint.maxMessagesPerPoll | 各ポーリングのポーリング制限としてメッセージの最大数を取得します。デフォルトは無制限ですが、0 または負の数を使用して無制限として無効にします。 | null | false | MEDIUM |
camel.source.endpoint.messageAttributeNames | 消費時に受け取るメッセージ属性名のリスト。複数の値はコンマで区切ることができます。 | null | false | MEDIUM |
camel.source.endpoint.sendEmptyMessageWhenIdle | ポーリングコンシューマーがファイルをポーリングしなかった場合、このオプションを有効にして、代わりに空のメッセージ (ボディーなし) を送信できます。 | false | false | MEDIUM |
camel.source.endpoint.serverSideEncryptionEnabled | サーバー側の暗号化がキューで有効であるかどうかを定義します。 | false | false | MEDIUM |
camel.source.endpoint.visibilityTimeout | 受信したメッセージが、com.amazonaws.services.sqs.model.SetQueueAttributesRequest で設定する ReceiveMessage リクエストによって取得された後、後続の取得リクエストから非表示になる期間 (秒単位)。これは、defaultVisibilityTimeout とは異なる場合にのみ意味があります。キューの可視性タイムアウト属性を永続的に変更します。 | null | false | MEDIUM |
camel.source.endpoint.waitTimeSeconds | メッセージがキューに入れられて応答に含まれるまで、ReceiveMessage アクション呼び出しが待機する時間 (0 から 20) です。 | null | false | MEDIUM |
camel.source.endpoint.exceptionHandler | コンシューマーによるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されないことに注意してください。デフォルトでは、コンシューマーは例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | null | false | MEDIUM |
camel.source.endpoint.exchangePattern | コンシューマーがエクスチェンジを作成する際に交換パターンを設定します。[InOnly]、[InOut]、[InOptionalOut] のいずれか。 | null | false | MEDIUM |
camel.source.endpoint.pollStrategy | プラグ可能な org.apache.camel.PollingConsumerPollingStrategy を使用すると、エクスチェンジが作成され、Camel でルーティングされる前に、通常はポーリング操作中に発生するエラー処理を制御するカスタム実装が提供できます。 | null | false | MEDIUM |
camel.source.endpoint.delayQueue | delaySeconds オプションをキューまたは単一のメッセージに適用するかどうかを定義します。 | false | false | MEDIUM |
camel.source.endpoint.queueUrl | queueUrl を明示的に定義します。queueUrl に影響を与えるその他のパラメーターはすべて無視されます。このパラメーターは、テストのために SQS の仮実装 (モック) に接続すること目的としています。 | null | false | MEDIUM |
camel.source.endpoint.proxyHost | SQS クライアントをインスタンス化するときにプロキシーホストを定義します。 | null | false | MEDIUM |
camel.source.endpoint.proxyPort | SQS クライアントをインスタンス化するときにプロキシーポートを定義します。 | null | false | MEDIUM |
camel.source.endpoint.maximumMessageSize | このキューの SQS メッセージに含めることができる maximumMessageSize (バイト単位)。 | null | false | MEDIUM |
camel.source.endpoint.messageRetentionPeriod | このキューの SQS によってメッセージが保持される messageRetentionPeriod (秒単位)。 | null | false | MEDIUM |
camel.source.endpoint.policy | このキューのポリシー。デフォルトではクラスパスからロードできますが、classpath:、file:、または http: の接頭辞を付けて、別のシステムからリソースをロードできます。 | null | false | MEDIUM |
camel.source.endpoint.receiveMessageWaitTime Seconds | 要求で WaitTimeSeconds を指定しない場合は、キュー属性 ReceiveMessageWaitTimeSeconds を使用して待機時間を決定します。 | null | false | MEDIUM |
camel.source.endpoint.redrivePolicy | DeadLetter キューにメッセージを送信するポリシーを指定します。Amazon ドキュメントで詳細を参照してください。 | null | false | MEDIUM |
camel.source.endpoint.backoffErrorThreshold | backoffMultipler が開始する前に発生する必要がある後続のエラーポーリング (エラーによって失敗した) の数。 | null | false | MEDIUM |
camel.source.endpoint.backoffIdleThreshold | backoffMultipler が開始する前に発生する必要がある後続のアイドルポーリングの数。 | null | false | MEDIUM |
camel.source.endpoint.backoffMultiplier | 後続のアイドル状態/エラーが連続して発生した場合に、スケジュールされたポーリングコンシューマーのバックオフを許可します。乗数は、実際に次の試行が行われる前にスキップされるポーリングの数です。このオプションが使用されている場合は、backoffIdleThreshold や backoffErrorThreshold も設定する必要があります。 | null | false | MEDIUM |
camel.source.endpoint.delay | 次のポーリングまでの時間 (ミリ秒単位)。 | 500L | false | MEDIUM |
camel.source.endpoint.greedy | greedy が有効で、以前の実行が 1 つ以上のメッセージをポーリングした場合、ScheduledPollConsumer は即座に再度実行されます。 | false | false | MEDIUM |
camel.source.endpoint.initialDelay | 最初のポーリングが開始されるまでの時間 (ミリ秒単位)。 | 1000L | false | MEDIUM |
camel.source.endpoint.repeatCount | 実行の最大数を指定します。そのため、これを 1 に設定するとスケジューラーは 1 度だけ実行されます。これを 5 に設定した場合、5 回だけ実行されます。0 または負の値を設定すると、無制限に実行されます。 | 0L | false | MEDIUM |
camel.source.endpoint.runLoggingLevel | コンシューマーはポーリング時に開始/完了のログ行を記録します。このオプションを使用すると、ログレベルを設定できます。[TRACE]、[DEBUG]、[INFO]、[WARN]、[ERROR]、[OFF] のいずれか。 | "TRACE" | false | MEDIUM |
camel.source.endpoint.scheduledExecutorService | コンシューマーに使用するカスタム/共有スレッドプールを設定できます。デフォルトでは、各コンシューマーに独自の単一スレッドのスレッドプールがあります。 | null | false | MEDIUM |
camel.source.endpoint.scheduler | camel-spring または camel-quartz コンポーネントから cron スケジューラーを使用します。スケジューラーにビルドされた値 spring または quartz を使用。 | "none" | false | MEDIUM |
camel.source.endpoint.schedulerProperties | カスタムスケジューラーまたは Quartz や Spring ベースのスケジューラーを使用する場合に、追加のプロパティーを設定します。 | null | false | MEDIUM |
camel.source.endpoint.startScheduler | スケジューラーを自動起動するかどうか。 | true | false | MEDIUM |
camel.source.endpoint.timeUnit | initialDelay および delay オプションの時間単位。[NANOSECONDS]、[MICROSECONDS]、[MILLISECONDS]、[SECONDS]、[MINUTES]、[HOURS]、[DAYS] のいずれか。 | "MILLISECONDS" | false | MEDIUM |
camel.source.endpoint.useFixedDelay | 固定遅延または固定レートを使用するかどうかを制御します。詳細は、JDK の ScheduledExecutorService を参照してください。 | true | false | MEDIUM |
camel.source.endpoint.accessKey | Amazon AWS Access Key | null | false | MEDIUM |
camel.source.endpoint.secretKey | Amazon AWS Secret Key | null | false | MEDIUM |
camel.component.aws2-sqs.amazonAWSHost | Amazon AWS クラウドのホスト名。 | "amazonaws.com" | false | MEDIUM |
camel.component.aws2-sqs.amazonSQSClient | AmazonSQS をクライアントとして使用します。 | null | false | MEDIUM |
camel.component.aws2-sqs.autoCreateQueue | キューの自動作成の設定。 | true | false | MEDIUM |
camel.component.aws2-sqs.configuration | AWS SQS のデフォルト設定。 | null | false | MEDIUM |
camel.component.aws2-sqs.protocol | SQS との通信に使用される基礎となるプロトコル。 | "https" | false | MEDIUM |
camel.component.aws2-sqs.proxyProtocol | SQS クライアントをインスタンス化する際にプロキシープロトコルを定義します。[HTTP] または [HTTPS] のいずれか。 | "HTTPS" | false | MEDIUM |
camel.component.aws2-sqs.queueOwnerAWSAccountId | 異なるアカウント所有者でキューを接続する必要がある場合は、キュー所有者の aws アカウント ID を指定します。 | null | false | MEDIUM |
camel.component.aws2-sqs.region | SQS クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。 | null | false | MEDIUM |
camel.component.aws2-sqs.trustAllCertificates | エンドポイントを上書きするときにすべての証明書を信頼する場合。 | false | false | MEDIUM |
camel.component.aws2-sqs.useDefaultCredentials Provider | SQS クライアントが AWS infra インスタンスでクレデンシャルのロードすること、または静的クレデンシャルが渡されることを SNS クライアントが想定すべきかどうかを設定します。 | false | false | MEDIUM |
camel.component.aws2-sqs.attributeNames | 消費時に受け取る属性名のリスト。複数の値はコンマで区切ることができます。 | null | false | MEDIUM |
camel.component.aws2-sqs.bridgeErrorHandler | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | false | MEDIUM |
camel.component.aws2-sqs.concurrentConsumers | 複数のスレッドを使用して sqs キューをポーリングし、スループットを向上させることができます。 | 1 | false | MEDIUM |
camel.component.aws2-sqs.defaultVisibilityTimeout | デフォルトの表示タイムアウト (秒単位)。 | null | false | MEDIUM |
camel.component.aws2-sqs.deleteAfterRead | メッセージが読まれた後、SQS からメッセージを削除します。 | true | false | MEDIUM |
camel.component.aws2-sqs.deleteIfFiltered | エクスチェンジがフィルターを通過できなかった場合に、DeleteMessage を SQS キューに送信するかどうか。false でエクスチェンジがルートのアップストリームの Camel フィルターを通過しない場合は、DeleteMessage を送信しないでください。 | true | false | MEDIUM |
camel.component.aws2-sqs.extendMessageVisibility | 有効にすると、スケジュールされたバックグラウンドタスクにより、SQS でのメッセージの可視性が拡張され続けます。これは、メッセージの処理に時間がかかる場合に必要です。true に設定した場合は、defaultVisibilityTimeout を設定する必要があります。詳細については、Amazon ドキュメントを参照してください。 | false | false | MEDIUM |
camel.component.aws2-sqs.kmsDataKeyReusePeriod Seconds | AWS KMS を再度呼び出す前に、Amazon SQS がデータキーを再利用してメッセージを暗号化または復号できる時間の長さ (秒単位)。60 秒 (1 分) から 86,400 秒 (24 時間) までの秒を表す整数。デフォルトは 300 (5 分) です。 | null | false | MEDIUM |
camel.component.aws2-sqs.kmsMasterKeyId | Amazon SQS の AWS 管理のカスタマーマスターキー (CMK) の ID またはカスタム CMK の ID。 | null | false | MEDIUM |
camel.component.aws2-sqs.messageAttributeNames | 消費時に受け取るメッセージ属性名のリスト。複数の値はコンマで区切ることができます。 | null | false | MEDIUM |
camel.component.aws2-sqs.serverSideEncryption Enabled | サーバー側の暗号化がキューで有効であるかどうかを定義します。 | false | false | MEDIUM |
camel.component.aws2-sqs.visibilityTimeout | 受信したメッセージが、com.amazonaws.services.sqs.model.SetQueueAttributesRequest で設定する ReceiveMessage リクエストによって取得された後、後続の取得リクエストから非表示になる期間 (秒単位)。これは、defaultVisibilityTimeout とは異なる場合にのみ意味があります。キューの可視性タイムアウト属性を永続的に変更します。 | null | false | MEDIUM |
camel.component.aws2-sqs.waitTimeSeconds | メッセージがキューに入れられて応答に含まれるまで、ReceiveMessage アクション呼び出しが待機する時間 (0 から 20) です。 | null | false | MEDIUM |
camel.component.aws2-sqs.autowiredEnabled | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | false | MEDIUM |
camel.component.aws2-sqs.delayQueue | delaySeconds オプションをキューまたは単一のメッセージに適用するかどうかを定義します。 | false | false | MEDIUM |
camel.component.aws2-sqs.queueUrl | queueUrl を明示的に定義します。queueUrl に影響を与えるその他のパラメーターはすべて無視されます。このパラメーターは、テストのために SQS の仮実装 (モック) に接続すること目的としています。 | null | false | MEDIUM |
camel.component.aws2-sqs.proxyHost | SQS クライアントをインスタンス化するときにプロキシーホストを定義します。 | null | false | MEDIUM |
camel.component.aws2-sqs.proxyPort | SQS クライアントをインスタンス化するときにプロキシーポートを定義します。 | null | false | MEDIUM |
camel.component.aws2-sqs.maximumMessageSize | このキューの SQS メッセージに含めることができる maximumMessageSize (バイト単位)。 | null | false | MEDIUM |
camel.component.aws2-sqs.messageRetentionPeriod | このキューの SQS によってメッセージが保持される messageRetentionPeriod (秒単位)。 | null | false | MEDIUM |
camel.component.aws2-sqs.policy | このキューのポリシー。デフォルトではクラスパスからロードできますが、classpath:、file:、または http: の接頭辞を付けて、別のシステムからリソースをロードできます。 | null | false | MEDIUM |
camel.component.aws2-sqs.receiveMessageWaitTime Seconds | 要求で WaitTimeSeconds を指定しない場合は、キュー属性 ReceiveMessageWaitTimeSeconds を使用して待機時間を決定します。 | null | false | MEDIUM |
camel.component.aws2-sqs.redrivePolicy | DeadLetter キューにメッセージを送信するポリシーを指定します。Amazon ドキュメントで詳細を参照してください。 | null | false | MEDIUM |
camel.component.aws2-sqs.accessKey | Amazon AWS Access Key | null | false | MEDIUM |
camel.component.aws2-sqs.secretKey | Amazon AWS Secret Key | null | false | MEDIUM |
camel-aws2-sqs ソースコネクターには、すぐに使用できるコンバーターはありません。
camel-aws2-sqs ソースコネクターは、以下に示すそのまま使える transforms を 0 個サポートします。
org.apache.camel.kafkaconnector.aws2sqs.transformers.SQSKeySetterTransforms
org.apache.camel.kafkaconnector.aws2sqs.transformers.SQSKeySetterTransforms
camel-aws2-sqs ソースコネクターにはそのまま使える集約ストラテジーがありません。
5.5. Azure
5.5.1. camel-azure-storage-blob-kafka-connector シンク設定
コネクターの説明: SDK v12 を使用して、Azure Storage Blob Service から BLOB を保存および取得します。
camel-azure-storage-blob-kafka-connector をシンクとして使用する場合は、次の Maven 依存関係を使用してコネクターをサポートしてください。
<dependency> <groupId>org.apache.camel.kafkaconnector</groupId> <artifactId>camel-azure-storage-blob-kafka-connector</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel Kafka connector version --> </dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-azure-storage-blob-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。
connector.class=org.apache.camel.kafkaconnector.azurestorageblob.CamelAzurestorageblobSinkConnector
connector.class=org.apache.camel.kafkaconnector.azurestorageblob.CamelAzurestorageblobSinkConnector
camel-azure-storage-blob シンクコネクターは、以下に示す 55 のオプションをサポートしています。
名前 | 説明 | デフォルト | 必要性 | 優先順位 |
---|---|---|---|---|
camel.sink.path.accountName | Azure BLOB サービスでの認証に使用される Azure アカウント名。 | null | false | MEDIUM |
camel.sink.path.containerName | BLOB コンテナー名。 | null | false | MEDIUM |
camel.sink.endpoint.autoDiscoverClient | autoDiscoverClient メカニズムを設定すると、true の場合、コンポーネントはレジストリー内のクライアントインスタンスを自動的に探します。それ以外の場合は、そのチェックをスキップします。 | true | false | MEDIUM |
camel.sink.endpoint.blobName | コンテナーから特定の BLOB を使用するための BLOB 名。ただし、プロデューサーでは、BLOB レベルでの操作にのみ必要です。 | null | false | MEDIUM |
camel.sink.endpoint.blobOffset | アップロードまたはダウンロード操作の BLOB オフセットを設定します。デフォルトは 0 です。 | 0L | false | MEDIUM |
camel.sink.endpoint.blobServiceClient | ストレージアカウントへのクライアント。このクライアントは、特定のストレージアカウントに関する状態を保持しませんが、サービス上のリソースに適切な要求を送信する便利な方法です。また、BLOB およびコンテナーへの URL を作成するために使用することもできます。このクライアントには、サービスアカウントに対する操作が含まれています。コンテナーに対する操作は、BlobServiceClient#getBlobContainerClient(String) を介して BlobContainerClient で利用でき、ブロブに対する操作は、getBlobContainerClient(String).getBlobClient(String) を介して BlobClient で利用できます。 | null | false | MEDIUM |
camel.sink.endpoint.blobType | 各 BLOB タイプの適切な設定を開始するための BLOB タイプ [blockblob] [appendblob] [pageblob] のいずれか | "blockblob" | false | MEDIUM |
camel.sink.endpoint.closeStreamAfterRead | 読み取り後にストリームを閉じるか、開いたままにします。デフォルトは true です。 | true | false | MEDIUM |
camel.sink.endpoint.credentials | StorageSharedKeyCredential を挿入して Azure クライアントを作成できます。これには重要な認証情報が保持されます。 | null | false | MEDIUM |
camel.sink.endpoint.dataCount | 範囲に含めるバイト数。指定する場合は、0 以上である必要があります。 | null | false | MEDIUM |
camel.sink.endpoint.fileDir | ダウンロードされた BLOB が保存されるファイルディレクトリー。これはプロデューサーとコンシューマーの両方で使用できます。 | null | false | MEDIUM |
camel.sink.endpoint.maxResultsPerPage | すべての BlobPrefix 要素を含め、返される BLOB の最大数を指定します。要求で maxResultsPerPage が指定されていないか、5,000 を超える値が指定されている場合、サーバーは最大 5,000 項目を返します。 | null | false | MEDIUM |
camel.sink.endpoint.maxRetryRequests | レスポンスのボディーからデータを読み取るときに作成される追加の HTTP Get 要求の最大数を指定します。 | 0 | false | MEDIUM |
camel.sink.endpoint.prefix | 結果をフィルター処理して、名前が指定された接頭辞で始まる BLOB のみを返します。すべての BLOB を返すには null の場合があります。 | null | false | MEDIUM |
camel.sink.endpoint.regex | 結果をフィルタリングして、指定された正規表現と名前が一致する BLOB のみを返します。接頭辞と正規表現の両方が設定されている場合は、すべてを返すために null になる場合があります。正規表現が優先され、接頭辞は無視されます。 | null | false | MEDIUM |
camel.sink.endpoint.serviceClient | ストレージアカウントへのクライアント。このクライアントは、特定のストレージアカウントに関する状態を保持しませんが、サービス上のリソースに適切な要求を送信する便利な方法です。また、BLOB およびコンテナーへの URL を作成するために使用することもできます。このクライアントには、サービスアカウントに対する操作が含まれています。コンテナーに対する操作は、BlobServiceClient#getBlobContainerClient(String) を介して BlobContainerClient で利用でき、ブロブに対する操作は、BlobContainerClient#getBlobClient(String) を介して BlobClient で利用できます。 | null | false | MEDIUM |
camel.sink.endpoint.timeout | それを超えると RuntimeException が発生する任意のタイムアウト値。 | null | false | MEDIUM |
camel.sink.endpoint.blobSequenceNumber | リクエストの追跡に使用できるユーザー制御の値。シーケンス番号の値は、0 から 263 - 1 の間でなければなりません。デフォルト値は 0 です。 | "0" | false | MEDIUM |
camel.sink.endpoint.blockListType | 返すブロックのタイプを指定します。次のいずれか: [committed] [uncommitted] [all] | COMMITTED | false | MEDIUM |
camel.sink.endpoint.closeStreamAfterWrite | 書き込み後にストリームを閉じるか、開いたままにします。デフォルトは true です。 | true | false | MEDIUM |
camel.sink.endpoint.commitBlockListLater | true に設定されていると、ステージングされたブロックは直接コミットされません。 | true | false | MEDIUM |
camel.sink.endpoint.createAppendBlob | true に設定されていると、追加ブロックのコミット時に追加ブロックが作成されます。 | true | false | MEDIUM |
camel.sink.endpoint.createPageBlob | true に設定すると、ページブロブのアップロード時にページ Blob が作成されます。 | true | false | MEDIUM |
camel.sink.endpoint.downloadLinkExpiration | URL ダウンロードリンクのデフォルトの有効期限 (ミリ秒) をオーバーライドします。 | null | false | MEDIUM |
camel.sink.endpoint.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.sink.endpoint.operation | プロデューサのこのコンポーネントで使用できる blob 操作。次のいずれか [listBlobContainers] [createBlobContainer] [deleteBlobContainer] [listBlobs] [getBlob] [deleteBlob] [downloadBlobToFile] [downloadLink] [uploadBlockBlob] [stageBlockBlobList] [commitBlobBlockList] [getBlobBlockList] [createAppendBlob] [commitAppendBlob] [createPageBlob] [uploadPageBlob] [resizePageBlob] [clearPageBlob] [getPageBlobRanges] | "listBlobContainers" | false | MEDIUM |
camel.sink.endpoint.pageBlobSize | ページ BLOB の最大サイズを 8 TB まで指定します。ページ BLOB のサイズは、512 バイトの境界に合わせる必要があります。 | "512" | false | MEDIUM |
camel.sink.endpoint.accessKey | Azure Blob サービスでの認証に使用される、関連付けられた Azure アカウント名のアクセスキー。 | null | false | MEDIUM |
camel.component.azure-storage-blob.autoDiscover Client | autoDiscoverClient メカニズムを設定すると、true の場合、コンポーネントはレジストリー内のクライアントインスタンスを自動的に探します。それ以外の場合は、そのチェックをスキップします。 | true | false | MEDIUM |
camel.component.azure-storage-blob.blobName | コンテナーから特定の BLOB を使用するための BLOB 名。ただし、プロデューサーでは、BLOB レベルでの操作にのみ必要です。 | null | false | MEDIUM |
camel.component.azure-storage-blob.blobOffset | アップロードまたはダウンロード操作の BLOB オフセットを設定します。デフォルトは 0 です。 | 0L | false | MEDIUM |
camel.component.azure-storage-blob.blobType | 各 BLOB タイプの適切な設定を開始するための BLOB タイプ [blockblob] [appendblob] [pageblob] のいずれか | "blockblob" | false | MEDIUM |
camel.component.azure-storage-blob.closeStream AfterRead | 読み取り後にストリームを閉じるか、開いたままにします。デフォルトは true です。 | true | false | MEDIUM |
camel.component.azure-storage-blob.configuration | コンポーネントの設定。 | null | false | MEDIUM |
camel.component.azure-storage-blob.credentials | StorageSharedKeyCredential を挿入して Azure クライアントを作成できます。これには重要な認証情報が保持されます。 | null | false | MEDIUM |
camel.component.azure-storage-blob.dataCount | 範囲に含めるバイト数。指定する場合は、0 以上である必要があります。 | null | false | MEDIUM |
camel.component.azure-storage-blob.fileDir | ダウンロードされた BLOB が保存されるファイルディレクトリー。これはプロデューサーとコンシューマーの両方で使用できます。 | null | false | MEDIUM |
camel.component.azure-storage-blob.maxResultsPer Page | すべての BlobPrefix 要素を含め、返される BLOB の最大数を指定します。要求で maxResultsPerPage が指定されていないか、5,000 を超える値が指定されている場合、サーバーは最大 5,000 項目を返します。 | null | false | MEDIUM |
camel.component.azure-storage-blob.maxRetry Requests | レスポンスのボディーからデータを読み取るときに作成される追加の HTTP Get 要求の最大数を指定します。 | 0 | false | MEDIUM |
camel.component.azure-storage-blob.prefix | 結果をフィルター処理して、名前が指定された接頭辞で始まる BLOB のみを返します。すべての BLOB を返すには null の場合があります。 | null | false | MEDIUM |
camel.component.azure-storage-blob.regex | 結果をフィルタリングして、指定された正規表現と名前が一致する BLOB のみを返します。接頭辞と正規表現の両方が設定されている場合は、すべてを返すために null になる場合があります。正規表現が優先され、接頭辞は無視されます。 | null | false | MEDIUM |
camel.component.azure-storage-blob.serviceClient | ストレージアカウントへのクライアント。このクライアントは、特定のストレージアカウントに関する状態を保持しませんが、サービス上のリソースに適切な要求を送信する便利な方法です。また、BLOB およびコンテナーへの URL を作成するために使用することもできます。このクライアントには、サービスアカウントに対する操作が含まれています。コンテナーに対する操作は、BlobServiceClient#getBlobContainerClient(String) を介して BlobContainerClient で利用でき、ブロブに対する操作は、BlobContainerClient#getBlobClient(String) を介して BlobClient で利用できます。 | null | false | MEDIUM |
camel.component.azure-storage-blob.timeout | それを超えると RuntimeException が発生する任意のタイムアウト値。 | null | false | MEDIUM |
camel.component.azure-storage-blob.blobSequence Number | リクエストの追跡に使用できるユーザー制御の値。シーケンス番号の値は、0 から 263 - 1 の間でなければなりません。デフォルト値は 0 です。 | "0" | false | MEDIUM |
camel.component.azure-storage-blob.blockListType | 返すブロックのタイプを指定します。次のいずれか: [committed] [uncommitted] [all] | COMMITTED | false | MEDIUM |
camel.component.azure-storage-blob.closeStream AfterWrite | 書き込み後にストリームを閉じるか、開いたままにします。デフォルトは true です。 | true | false | MEDIUM |
camel.component.azure-storage-blob.commitBlockList Later | true に設定されていると、ステージングされたブロックは直接コミットされません。 | true | false | MEDIUM |
camel.component.azure-storage-blob.createAppend Blob | true に設定されていると、追加ブロックのコミット時に追加ブロックが作成されます。 | true | false | MEDIUM |
camel.component.azure-storage-blob.createPageBlob | true に設定すると、ページブロブのアップロード時にページ Blob が作成されます。 | true | false | MEDIUM |
camel.component.azure-storage-blob.downloadLink Expiration | URL ダウンロードリンクのデフォルトの有効期限 (ミリ秒) をオーバーライドします。 | null | false | MEDIUM |
camel.component.azure-storage-blob.lazyStart Producer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.component.azure-storage-blob.operation | プロデューサのこのコンポーネントで使用できる blob 操作。次のいずれか [listBlobContainers] [createBlobContainer] [deleteBlobContainer] [listBlobs] [getBlob] [deleteBlob] [downloadBlobToFile] [downloadLink] [uploadBlockBlob] [stageBlockBlobList] [commitBlobBlockList] [getBlobBlockList] [createAppendBlob] [commitAppendBlob] [createPageBlob] [uploadPageBlob] [resizePageBlob] [clearPageBlob] [getPageBlobRanges] | "listBlobContainers" | false | MEDIUM |
camel.component.azure-storage-blob.pageBlobSize | ページ BLOB の最大サイズを 8 TB まで指定します。ページ BLOB のサイズは、512 バイトの境界に合わせる必要があります。 | "512" | false | MEDIUM |
camel.component.azure-storage-blob.autowired Enabled | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | false | MEDIUM |
camel.component.azure-storage-blob.accessKey | Azure Blob サービスでの認証に使用される、関連付けられた Azure アカウント名のアクセスキー。 | null | false | MEDIUM |
camel-azure-storage-blob シンクコネクターには、すぐに使えるコンバーターはありません。
camel-azure-storage-blob シンクコネクターには、すぐに使える変換はありません。
camel-azure-storage-blob シンクコネクターには、すぐに使用できる集約ストラテジーはありません。
5.5.2. camel-azure-storage-queue-kafka-connector シンク設定
コネクターの説明: azure-storage-queue コンポーネントは、Azure SDK v12 を使用して Azure Storage Queue への/からのメッセージを保存および取得するために使用されます。
camel-azure-storage-queue-kafka-connector をシンクとして使用する場合は、次の Maven 依存関係を使用してコネクターをサポートしてください。
<dependency> <groupId>org.apache.camel.kafkaconnector</groupId> <artifactId>camel-azure-storage-queue-kafka-connector</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel Kafka connector version --> </dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-azure-storage-queue-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。
connector.class=org.apache.camel.kafkaconnector.azurestoragequeue.CamelAzurestoragequeueSinkConnector
connector.class=org.apache.camel.kafkaconnector.azurestoragequeue.CamelAzurestoragequeueSinkConnector
camel-azure-storage-queue シンクコネクターは、以下に示す 30 のオプションをサポートしています。
名前 | 説明 | デフォルト | 必要性 | 優先順位 |
---|---|---|---|---|
camel.sink.path.accountName | Azure キューサービスでの認証に使用される Azure アカウント名。 | null | false | MEDIUM |
camel.sink.path.queueName | キューリソース名。 | null | false | MEDIUM |
camel.sink.endpoint.autoDiscoverClient | autoDiscoverClient メカニズムを設定すると、true の場合、コンポーネントはレジストリー内のクライアントインスタンスを自動的に探します。それ以外の場合は、そのチェックをスキップします。 | true | false | MEDIUM |
camel.sink.endpoint.serviceClient | クライアントをストレージアカウントにサービスして、キューサービスとやり取りします。このクライアントは、特定のストレージアカウントに関する状態を保持しませんが、サービス上のリソースに適切な要求を送信する便利な方法です。このクライアントには、Azure Storage のキューアカウントを操作するためのすべての操作が含まれています。クライアントによって許可される操作は、キューの作成、一覧表示、および削除、アカウントのプロパティーの取得と更新、およびアカウントの統計の取得です。 | null | false | MEDIUM |
camel.sink.endpoint.createQueue | true に設定すると、メッセージを送信するときにキューが自動的に作成されます。 | true | false | MEDIUM |
camel.sink.endpoint.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.sink.endpoint.operation | プロデューサへのキューサービス操作のヒント: [listQueues] [createQueue] [deleteQueue] [clearQueue] [sendMessage] [deleteMessage] [receiveMessages] [peekMessages] [updateMessage] のいずれか | null | false | MEDIUM |
camel.sink.endpoint.maxMessages | 取得するメッセージの最大数。要求された数よりもキューに存在するメッセージが少ない場合は、すべてのメッセージが返されます。空のままにすると、1 つのメッセージのみが取得されます。許可される範囲は 1 から 32 のメッセージです。 | "1" | false | MEDIUM |
camel.sink.endpoint.messageId | 削除または更新するメッセージの ID。 | null | false | MEDIUM |
camel.sink.endpoint.popReceipt | メッセージを削除または更新するために一致する必要がある一意の識別子。 | null | false | MEDIUM |
camel.sink.endpoint.timeout | 操作に適用されるオプションのタイムアウト。タイムアウトが終了する前に応答が返されない場合、RuntimeException が出力されます。 | null | false | MEDIUM |
camel.sink.endpoint.timeToLive | メッセージがキュー内で存続する時間。設定されていない場合、値はデフォルトで 7 日になります。-1 が渡されると、メッセージは期限切れになりません。存続時間は -1 または任意の正の数でなければなりません。形式は PnDTnHnMn.nS の形式である必要があります (例: PT20.345S は 20.345 秒として解析し、P2D は、2 日として解析)。ただし、EndpointDsl/ComponentDsl を使用している場合は、これらの Java API はタイプセーフであるため、Duration.ofSeconds() のようなものが可能になります。 | null | false | MEDIUM |
camel.sink.endpoint.visibilityTimeout | メッセージがキューに表示されないタイムアウト期間。タイムアウトは 1 秒から 7 日の間にする必要があります。形式は PnDTnHnMn.nS の形式である必要があります (例: PT20.345S は 20.345 秒として解析し、P2D は、2 日として解析)。ただし、EndpointDsl/ComponentDsl を使用している場合は、これらの Java API はタイプセーフであるため、Duration.ofSeconds() のようなものが可能になります。 | null | false | MEDIUM |
camel.sink.endpoint.accessKey | azure キューサービスでの認証に使用される、関連付けられた azure アカウント名のアクセスキー。 | null | false | MEDIUM |
camel.sink.endpoint.credentials | StorageSharedKeyCredential を挿入して Azure クライアントを作成できます。これには重要な認証情報が保持されます。 | null | false | MEDIUM |
camel.component.azure-storage-queue.autoDiscover Client | autoDiscoverClient メカニズムを設定すると、true の場合、コンポーネントはレジストリー内のクライアントインスタンスを自動的に探します。それ以外の場合は、そのチェックをスキップします。 | true | false | MEDIUM |
camel.component.azure-storage-queue.configuration | コンポーネントの設定。 | null | false | MEDIUM |
camel.component.azure-storage-queue.serviceClient | クライアントをストレージアカウントにサービスして、キューサービスとやり取りします。このクライアントは、特定のストレージアカウントに関する状態を保持しませんが、サービス上のリソースに適切な要求を送信する便利な方法です。このクライアントには、Azure Storage のキューアカウントを操作するためのすべての操作が含まれています。クライアントによって許可される操作は、キューの作成、一覧表示、および削除、アカウントのプロパティーの取得と更新、およびアカウントの統計の取得です。 | null | false | MEDIUM |
camel.component.azure-storage-queue.createQueue | true に設定すると、メッセージを送信するときにキューが自動的に作成されます。 | true | false | MEDIUM |
camel.component.azure-storage-queue.lazyStart Producer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.component.azure-storage-queue.operation | プロデューサへのキューサービス操作のヒント: [listQueues] [createQueue] [deleteQueue] [clearQueue] [sendMessage] [deleteMessage] [receiveMessages] [peekMessages] [updateMessage] のいずれか | null | false | MEDIUM |
camel.component.azure-storage-queue.autowired Enabled | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | false | MEDIUM |
camel.component.azure-storage-queue.maxMessages | 取得するメッセージの最大数。要求された数よりもキューに存在するメッセージが少ない場合は、すべてのメッセージが返されます。空のままにすると、1 つのメッセージのみが取得されます。許可される範囲は 1 から 32 のメッセージです。 | "1" | false | MEDIUM |
camel.component.azure-storage-queue.messageId | 削除または更新するメッセージの ID。 | null | false | MEDIUM |
camel.component.azure-storage-queue.popReceipt | メッセージを削除または更新するために一致する必要がある一意の識別子。 | null | false | MEDIUM |
camel.component.azure-storage-queue.timeout | 操作に適用されるオプションのタイムアウト。タイムアウトが終了する前に応答が返されない場合、RuntimeException が出力されます。 | null | false | MEDIUM |
camel.component.azure-storage-queue.timeToLive | メッセージがキュー内で存続する時間。設定されていない場合、値はデフォルトで 7 日になります。-1 が渡されると、メッセージは期限切れになりません。存続時間は -1 または任意の正の数でなければなりません。形式は PnDTnHnMn.nS の形式である必要があります (例: PT20.345S は 20.345 秒として解析し、P2D は、2 日として解析)。ただし、EndpointDsl/ComponentDsl を使用している場合は、これらの Java API はタイプセーフであるため、Duration.ofSeconds() のようなものが可能になります。 | null | false | MEDIUM |
camel.component.azure-storage-queue.visibility Timeout | メッセージがキューに表示されないタイムアウト期間。タイムアウトは 1 秒から 7 日の間にする必要があります。形式は PnDTnHnMn.nS の形式である必要があります (例: PT20.345S は 20.345 秒として解析し、P2D は、2 日として解析)。ただし、EndpointDsl/ComponentDsl を使用している場合は、これらの Java API はタイプセーフであるため、Duration.ofSeconds() のようなものが可能になります。 | null | false | MEDIUM |
camel.component.azure-storage-queue.accessKey | azure キューサービスでの認証に使用される、関連付けられた azure アカウント名のアクセスキー。 | null | false | MEDIUM |
camel.component.azure-storage-queue.credentials | StorageSharedKeyCredential を挿入して Azure クライアントを作成できます。これには重要な認証情報が保持されます。 | null | false | MEDIUM |
camel-azure-storage-queue シンクコネクターには、すぐに使えるコンバーターはありません。
camel-azure-storage-queue シンクコネクターには、すぐに使える変換はありません。
camel-azure-storage-queue シンクコネクターには、すぐに使用できる集約ストラテジーはありません。
5.6. Cassandra クエリー言語
5.6.1. camel-cql-kafka-connector シンク設定
コネクターの説明: CQL3 API (Thrift API ではありません) を使用して Cassandra 2.0 と統合します。DataStax が提供する Cassandra Java Driver をベースにしています。
camel-cql-kafka-connectorr をシンクとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。
<dependency> <groupId>org.apache.camel.kafkaconnector</groupId> <artifactId>camel-cql-kafka-connector</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel Kafka connector version --> </dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-cql-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。
connector.class=org.apache.camel.kafkaconnector.cql.CamelCqlSinkConnector
connector.class=org.apache.camel.kafkaconnector.cql.CamelCqlSinkConnector
camel-cql シンクコネクターは、以下に示す 17 のオプションをサポートします。
名前 | 説明 | デフォルト | 必要性 | 優先順位 |
---|---|---|---|---|
camel.sink.path.beanRef | beanRef は bean:id を使用して定義されます。 | null | false | MEDIUM |
camel.sink.path.hosts | ホスト名 cassansdra サーバー。複数のホストはコンマで区切ることができます。 | null | false | MEDIUM |
camel.sink.path.port | cassansdra サーバーのポート番号 | null | false | MEDIUM |
camel.sink.path.keyspace | 使用するキースペース | null | false | MEDIUM |
camel.sink.endpoint.clusterName | Cluster name | null | false | MEDIUM |
camel.sink.endpoint.consistencyLevel | 使用する整合性レベル 次のいずれか: [ANY] [ONE] [TWO] [THREE] [QUORUM] [ALL] [LOCAL_ONE] [LOCAL_QUORUM] [EACH_QUORUM] [SERIAL] [LOCAL_SERIAL] | null | false | MEDIUM |
camel.sink.endpoint.cql | 実行する CQL クエリー。キー CamelCqlQuery を持つメッセージヘッダーでオーバーライドできます。 | null | false | MEDIUM |
camel.sink.endpoint.datacenter | 使用するデータセンター。 | "datacenter1" | false | MEDIUM |
camel.sink.endpoint.loadBalancingPolicyClass | 特定の LoadBalancingPolicyClass を使用するには。 | null | false | MEDIUM |
camel.sink.endpoint.password | セッション認証のパスワード。 | null | false | MEDIUM |
camel.sink.endpoint.prepareStatements | PreparedStatements を使用するか、通常のステートメントを使用するか。 | true | false | MEDIUM |
camel.sink.endpoint.resultSetConversionStrategy | ResultSet をメッセージ本文 ALL、ONE、LIMIT_10、LIMIT_100… に変換するためのロジックを実装するカスタムクラスを使用するには | null | false | MEDIUM |
camel.sink.endpoint.session | Session インスタンスを使用するには (通常、このオプションは使用しません)。 | null | false | MEDIUM |
camel.sink.endpoint.username | セッション認証のユーザー名。 | null | false | MEDIUM |
camel.sink.endpoint.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.component.cql.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.component.cql.autowiredEnabled | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | false | MEDIUM |
camel-cql シンクコネクターには、すぐに使用できるコンバータはありません。
camel-cql シンクコネクターには、すぐに使える変換はありません。
camel-cql シンクコネクターには、すぐに使用できる集約ストラテジーはありません。
5.6.2. camel-cql-kafka-connector ソース設定
コネクターの説明: (Thrift API ではなく) CQL3 API を使用して Cassandra 2.0 と統合します。DataStax が提供する Cassandra Java Driver をベースにしています。
camel-cql-kafka-connector をソースとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。
<dependency> <groupId>org.apache.camel.kafkaconnector</groupId> <artifactId>camel-cql-kafka-connector</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel Kafka connector version --> </dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-cql-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
Kafka コネクションでこのソースコネクターを使用するには、以下の connector.class を設定する必要があります。
connector.class=org.apache.camel.kafkaconnector.cql.CamelCqlSourceConnector
connector.class=org.apache.camel.kafkaconnector.cql.CamelCqlSourceConnector
camel-cql ソースコネクターは、以下に示す 35 のオプションをサポートします。
名前 | 説明 | デフォルト | 必要性 | 優先順位 |
---|---|---|---|---|
camel.source.path.beanRef | beanRef は bean:id を使用して定義されます。 | null | false | MEDIUM |
camel.source.path.hosts | ホスト名 cassansdra サーバー。複数のホストはコンマで区切ることができます。 | null | false | MEDIUM |
camel.source.path.port | cassansdra サーバーのポート番号 | null | false | MEDIUM |
camel.source.path.keyspace | 使用するキースペース | null | false | MEDIUM |
camel.source.endpoint.clusterName | Cluster name | null | false | MEDIUM |
camel.source.endpoint.consistencyLevel | 使用する整合性レベル 次のいずれか: [ANY] [ONE] [TWO] [THREE] [QUORUM] [ALL] [LOCAL_ONE] [LOCAL_QUORUM] [EACH_QUORUM] [SERIAL] [LOCAL_SERIAL] | null | false | MEDIUM |
camel.source.endpoint.cql | 実行する CQL クエリー。キー CamelCqlQuery を持つメッセージヘッダーでオーバーライドできます。 | null | false | MEDIUM |
camel.source.endpoint.datacenter | 使用するデータセンター。 | "datacenter1" | false | MEDIUM |
camel.source.endpoint.loadBalancingPolicyClass | 特定の LoadBalancingPolicyClass を使用するには。 | null | false | MEDIUM |
camel.source.endpoint.password | セッション認証のパスワード。 | null | false | MEDIUM |
camel.source.endpoint.prepareStatements | PreparedStatements を使用するか、通常のステートメントを使用するか。 | true | false | MEDIUM |
camel.source.endpoint.resultSetConversionStrategy | ResultSet をメッセージ本文 ALL、ONE、LIMIT_10、LIMIT_100… に変換するためのロジックを実装するカスタムクラスを使用するには | null | false | MEDIUM |
camel.source.endpoint.session | Session インスタンスを使用するには (通常、このオプションは使用しません)。 | null | false | MEDIUM |
camel.source.endpoint.username | セッション認証のユーザー名。 | null | false | MEDIUM |
camel.source.endpoint.bridgeErrorHandler | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | false | MEDIUM |
camel.source.endpoint.sendEmptyMessageWhenIdle | ポーリングコンシューマーがファイルをポーリングしなかった場合、このオプションを有効にして、代わりに空のメッセージ (ボディーなし) を送信できます。 | false | false | MEDIUM |
camel.source.endpoint.exceptionHandler | コンシューマーによるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されないことに注意してください。デフォルトでは、コンシューマーは例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | null | false | MEDIUM |
camel.source.endpoint.exchangePattern | コンシューマーがエクスチェンジを作成する際に交換パターンを設定します。[InOnly]、[InOut]、[InOptionalOut] のいずれか。 | null | false | MEDIUM |
camel.source.endpoint.pollStrategy | プラグ可能な org.apache.camel.PollingConsumerPollingStrategy を使用すると、エクスチェンジが作成され、Camel でルーティングされる前に、通常はポーリング操作中に発生するエラー処理を制御するカスタム実装が提供できます。 | null | false | MEDIUM |
camel.source.endpoint.backoffErrorThreshold | backoffMultipler が開始する前に発生する必要がある後続のエラーポーリング (エラーによって失敗した) の数。 | null | false | MEDIUM |
camel.source.endpoint.backoffIdleThreshold | backoffMultipler が開始する前に発生する必要がある後続のアイドルポーリングの数。 | null | false | MEDIUM |
camel.source.endpoint.backoffMultiplier | 後続のアイドル状態/エラーが連続して発生した場合に、スケジュールされたポーリングコンシューマーのバックオフを許可します。乗数は、実際に次の試行が行われる前にスキップされるポーリングの数です。このオプションが使用されている場合は、backoffIdleThreshold や backoffErrorThreshold も設定する必要があります。 | null | false | MEDIUM |
camel.source.endpoint.delay | 次のポーリングまでの時間 (ミリ秒単位)。 | 500L | false | MEDIUM |
camel.source.endpoint.greedy | greedy が有効で、以前の実行が 1 つ以上のメッセージをポーリングした場合、ScheduledPollConsumer は即座に再度実行されます。 | false | false | MEDIUM |
camel.source.endpoint.initialDelay | 最初のポーリングが開始されるまでの時間 (ミリ秒単位)。 | 1000L | false | MEDIUM |
camel.source.endpoint.repeatCount | 実行の最大数を指定します。そのため、これを 1 に設定するとスケジューラーは 1 度だけ実行されます。これを 5 に設定した場合、5 回だけ実行されます。0 または負の値を設定すると、無制限に実行されます。 | 0L | false | MEDIUM |
camel.source.endpoint.runLoggingLevel | コンシューマーはポーリング時に開始/完了のログ行を記録します。このオプションを使用すると、ログレベルを設定できます。[TRACE]、[DEBUG]、[INFO]、[WARN]、[ERROR]、[OFF] のいずれか。 | "TRACE" | false | MEDIUM |
camel.source.endpoint.scheduledExecutorService | コンシューマーに使用するカスタム/共有スレッドプールを設定できます。デフォルトでは、各コンシューマーに独自の単一スレッドのスレッドプールがあります。 | null | false | MEDIUM |
camel.source.endpoint.scheduler | camel-spring または camel-quartz コンポーネントから cron スケジューラーを使用します。スケジューラーにビルドされた値 spring または quartz を使用。 | "none" | false | MEDIUM |
camel.source.endpoint.schedulerProperties | カスタムスケジューラーまたは Quartz や Spring ベースのスケジューラーを使用する場合に、追加のプロパティーを設定します。 | null | false | MEDIUM |
camel.source.endpoint.startScheduler | スケジューラーを自動起動するかどうか。 | true | false | MEDIUM |
camel.source.endpoint.timeUnit | initialDelay および delay オプションの時間単位。[NANOSECONDS]、[MICROSECONDS]、[MILLISECONDS]、[SECONDS]、[MINUTES]、[HOURS]、[DAYS] のいずれか。 | "MILLISECONDS" | false | MEDIUM |
camel.source.endpoint.useFixedDelay | 固定遅延または固定レートを使用するかどうかを制御します。詳細は、JDK の ScheduledExecutorService を参照してください。 | true | false | MEDIUM |
camel.component.cql.bridgeErrorHandler | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | false | MEDIUM |
camel.component.cql.autowiredEnabled | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | false | MEDIUM |
camel-cql ソースコネクターには、すぐに使用できるコンバーターはありません。
camel-cql ソースコネクターには、すぐに使える変換はありません。
camel-cql ソースコネクターには、すぐに使用できる集約ストラテジーはありません。
5.7. Elasticsearch
5.7.1. camel-elasticsearch-rest-kafka-connector シンク設定
コネクターの説明: REST API を介して ElasticSearch でリクエストを送信します。
camel-elasticsearch-rest-kafka-connector をシンクとして使用する場合は、次の Maven 依存関係を使用してコネクターをサポートしてください。
<dependency> <groupId>org.apache.camel.kafkaconnector</groupId> <artifactId>camel-elasticsearch-rest-kafka-connector</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel Kafka connector version --> </dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-elasticsearch-rest-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。
connector.class=org.apache.camel.kafkaconnector.elasticsearchrest.CamelElasticsearchrestSinkConnector
connector.class=org.apache.camel.kafkaconnector.elasticsearchrest.CamelElasticsearchrestSinkConnector
camel-elasticsearch-rest シンクコネクターは、以下に示す 31 のオプションをサポートします。
名前 | 説明 | デフォルト | 必要性 | 優先順位 |
---|---|---|---|---|
camel.sink.path.clusterName | クラスターの名前。 | null | true | HIGH |
camel.sink.endpoint.connectionTimeout | 接続がタイムアウトするまでのミリ秒単位の待機時間。 | 30000 | false | MEDIUM |
camel.sink.endpoint.disconnect | プロデューサーの呼び出しが終了したら切断します | false | false | MEDIUM |
camel.sink.endpoint.enableSniffer | 実行中の Elasticsearch クラスターからのノードの自動検出を有効にする | false | false | MEDIUM |
camel.sink.endpoint.enableSSL | SSL の有効化 | false | false | MEDIUM |
camel.sink.endpoint.from | 応答の開始インデックス。 | null | false | MEDIUM |
camel.sink.endpoint.hostAddresses | 使用する ip:port 形式のリモートトランスポートアドレスを含むコンマ区切りのリスト。 | null | true | HIGH |
camel.sink.endpoint.indexName | 動作させるインデックスの名前。 | null | false | MEDIUM |
camel.sink.endpoint.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.sink.endpoint.maxRetryTimeout | 再試行までの時間 (ミリ秒) | 30000 | false | MEDIUM |
camel.sink.endpoint.operation | 実行する操作: [Index] [Update] [Bulk] [BulkIndex] [GetById] [MultiGet] [MultiSearch] [Delete] [DeleteIndex] [Search] [Exists] [Ping] のいずれか | null | false | MEDIUM |
camel.sink.endpoint.scrollKeepAliveMs | Elasticsearch が検索コンテキストを維持するミリ秒単位の時間 | 60000 | false | MEDIUM |
camel.sink.endpoint.size | レスポンスのサイズ。 | null | false | MEDIUM |
camel.sink.endpoint.sniffAfterFailureDelay | 失敗後にスケジュールされたスニファ実行の遅延 (ミリ秒単位) | 60000 | false | MEDIUM |
camel.sink.endpoint.snifferInterval | 通常のスニファを連続して実行する間隔 (ミリ秒単位)。sniffOnFailure が無効になっている場合、または連続するスニファ実行の間に失敗がない場合に受け入れられます | 300000 | false | MEDIUM |
camel.sink.endpoint.socketTimeout | ソケットがタイムアウトする前に待機するミリ秒単位のタイムアウト。 | 30000 | false | MEDIUM |
camel.sink.endpoint.useScroll | スクロールの使用を有効にする | false | false | MEDIUM |
camel.sink.endpoint.waitForActiveShards | インデックスの作成は、シャードの書き込み整合性数が使用可能になるまで待機します | 1 | false | MEDIUM |
camel.component.elasticsearch-rest.lazyStart Producer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.component.elasticsearch-rest.autowired Enabled | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | false | MEDIUM |
camel.component.elasticsearch-rest.client | エンドポイントごとにクライアントを作成する代わりに、既存の設定済み Elasticsearch クライアントを使用するには。これにより、特定の設定でクライアントをカスタマイズできます。 | null | false | MEDIUM |
camel.component.elasticsearch-rest.connection Timeout | 接続がタイムアウトするまでのミリ秒単位の待機時間。 | 30000 | false | MEDIUM |
camel.component.elasticsearch-rest.enableSniffer | 実行中の Elasticsearch クラスターからのノードの自動検出を有効にする | "false" | false | MEDIUM |
camel.component.elasticsearch-rest.hostAddresses | 使用する ip:port 形式のリモートトランスポートアドレスを含むコンマ区切りのリスト。代わりに hostAddresses が考慮されるようにするには、ip オプションと port オプションを空白のままにする必要があります。 | null | false | MEDIUM |
camel.component.elasticsearch-rest.maxRetryTimeout | 再試行までの時間 (ミリ秒) | 30000 | false | MEDIUM |
camel.component.elasticsearch-rest.sniffAfter FailureDelay | 失敗後にスケジュールされたスニファ実行の遅延 (ミリ秒単位) | 60000 | false | MEDIUM |
camel.component.elasticsearch-rest.snifferInterval | 通常のスニファを連続して実行する間隔 (ミリ秒単位)。sniffOnFailure が無効になっている場合、または連続するスニファ実行の間に失敗がない場合に受け入れられます | 300000 | false | MEDIUM |
camel.component.elasticsearch-rest.socketTimeout | ソケットがタイムアウトする前に待機するミリ秒単位のタイムアウト。 | 30000 | false | MEDIUM |
camel.component.elasticsearch-rest.enableSSL | SSL の有効化 | "false" | false | MEDIUM |
camel.component.elasticsearch-rest.password | 認証用パスワード | null | false | MEDIUM |
camel.component.elasticsearch-rest.user | 基本認証ユーザー | null | false | MEDIUM |
camel-elasticsearch-rest シンクコネクターには、すぐに使えるコンバーターはありません。
camel-elasticsearch-rest シンクコネクターは、すぐに使用できる 0 変換をサポートします。これを以下に示します。
org.apache.camel.kafkaconnector.elasticsearchrest.transformers.ConnectRecordValueToMapTransforms
org.apache.camel.kafkaconnector.elasticsearchrest.transformers.ConnectRecordValueToMapTransforms
camel-elasticsearch-rest シンクコネクターには、すぐに使用できる集約ストラテジーはありません。
5.8. File
5.8.1. camel-file-kafka-connector シンク設定
コネクターの説明: ファイルの読み取りと書き込み。
camel-file-kafka-connector をシンクとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。
<dependency> <groupId>org.apache.camel.kafkaconnector</groupId> <artifactId>camel-file-kafka-connector</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel Kafka connector version --> </dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-file-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。
connector.class=org.apache.camel.kafkaconnector.file.CamelFileSinkConnector
connector.class=org.apache.camel.kafkaconnector.file.CamelFileSinkConnector
camel-file シンクコネクターは、以下に示す 26 のオプションをサポートします。
名前 | 説明 | デフォルト | 必要性 | 優先順位 |
---|---|---|---|---|
camel.sink.path.directoryName | 開始ディレクトリー | null | true | HIGH |
camel.sink.endpoint.charset | このオプションは、ファイルのエンコーディングを指定するために使用されます。コンシューマーでこれを使用して、ファイルのエンコーディングを指定できます。これにより、Camel は、ファイルコンテンツがアクセスされている場合にファイルコンテンツをロードする必要がある charset を知ることができます。ファイルを書き込む場合も同様に、このオプションを使用して、ファイルを書き込む charset を指定できます。ファイルを書き込むとき、Camel はメッセージの内容をメモリーに読み込んで、データを設定された charset に変換できるようにする必要があることに注意してください。つまり、メッセージが大きい場合は、これを使用しないでください。 | null | false | MEDIUM |
camel.sink.endpoint.doneFileName | Producer: 指定された場合、元のファイルが書き込まれると、Camel は 2 番目の完了ファイルを書き込みます。完了ファイルは空になります。このオプションは、使用するファイル名を設定します。固定の名前を指定できます。または、動的プレースホルダーを使用することもできます。完了ファイルは、常に元のファイルと同じフォルダーに書き込まれます。Consumer: 指定すると、Camel は完了ファイルが存在する場合にのみファイルを消費します。このオプションは、使用するファイル名を設定します。固定の名前を指定できます。または、動的なプレースホルダーを使用できます。完了ファイルは、常に元のファイルと同じフォルダーにあると想定されます。$\\{file.name} と $\\{file.name.next} のみが動的プレースホルダーとしてサポートされています。 | null | false | MEDIUM |
camel.sink.endpoint.fileName | File Language などの式を使用して、ファイル名を動的に設定します。コンシューマーの場合は、ファイル名フィルターとして使用されます。プロデューサーの場合、書き込むファイル名を評価するために使用されます。式が設定されている場合は、CamelFileName ヘッダーよりも優先されます。(注: ヘッダー自体を式にすることもできます)。式オプションは String タイプと Expression タイプの両方をサポートします。式が String タイプである場合、これは常にファイル言語を使用して評価されます。式が Expression タイプである場合、指定された Expression タイプが使用されます。これにより、たとえば OGNL 式を使用できます。コンシューマーの場合、これを使用してファイル名をフィルターリングできるため、たとえば、ファイル言語構文 mydata-$\\{date:now:yyyyMMdd}.txt を使用して今日のファイルを消費できます。プロデューサーは、既存の CamelFileName ヘッダーよりも優先される CamelOverruleFileName ヘッダーをサポートします。CamelOverruleFileName は一度だけ使用されるヘッダーであり、CamelFileName を一時的に保存して後で復元する必要がなくなるため、簡単になります。 | null | false | MEDIUM |
camel.sink.endpoint.appendChars | ファイルの書き込み後に文字 (テキスト) を追加するために使用されます。たとえば、既存ファイルを書き込んで追加する際に、新しい行やその他のセパレーターを追加するために使用できます。改行 (slash-n または slash-r) またはタブ (slash-t) 文字を指定するには、slash-slash-n のように追加のスラッシュでエスケープします。 | null | false | MEDIUM |
camel.sink.endpoint.fileExist | 同じ名前のファイルがすでに存在する場合のアクション。デフォルトの上書きは、既存のファイルを置き換えます。- 追加 - 既存のファイルにコンテンツを追加します。- 失敗 - 既存のファイルがすでに存在することを示す GenericFileOperationException を出力します。- 無視 - 問題を黙って無視し、既存のファイルを上書きしませんが、すべて問題ないと想定します。- 移動 - オプションを設定するには、moveExisting オプションも使用する必要があります。オプション eagerDeleteTargetFile を使用して、ファイルを移動する際に既存ファイルが存在する場合に何をすべきか制御でき、そうでない場合は移動操作が失敗します。移動オプションは、ターゲットファイルを書き込む前に、既存のファイルを移動します。- TryRename は、tempFileName オプションが使用されている場合にのみ適用されます。これにより、存在チェックを実行せずに、一時的なファイル名から実際のファイル名への変更を試みることができます。このチェックは、一部のファイルシステム、特に FTP サーバーでは高速になる場合があります。次のいずれか: [Override] [Append] [Fail] [Ignore] [Move] [TryRename] | "Override" | false | MEDIUM |
camel.sink.endpoint.flatten | flatten は、ファイル名パスをフラット化して先頭のパスを削除するために使用されるので、ファイル名だけになります。これにより、サブディレクトリーに再帰的に使用できますが、たとえばファイルを別のディレクトリーに書き込む場合、ファイルは単一のディレクトリーに書き込まれます。これをプロデューサーで true に設定すると、CamelFileName ヘッダーのファイル名が先頭パスから削除されます。 | false | false | MEDIUM |
camel.sink.endpoint.jailStartingDirectory | ファイルの書き込みを開始ディレクトリー (およびサブ) のみに拘束 (制限) するために使用されます。これはデフォルトで有効になっており、Camel は外部ディレクトリーにファイルを書き込むことができません (そのままでセキュアにするため)。無効にすると、親フォルダーやルートフォルダーなど、開始ディレクトリー以外のディレクトリーにファイルを書き込むことができます。 | true | false | MEDIUM |
camel.sink.endpoint.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.sink.endpoint.moveExisting | fileExist=Move が設定されている場合に使用するファイル名の計算に使用される式 (File 言語など)。ファイルをバックアップサブディレクトリーに移動するには、backup と入力します。このオプションは、file:name、file:name.ext、file:name.noext、file:onlyname、file:onlyname.noext、file:ext、および file:parent の File Language トークンのみをサポートします。FTP コンポーネントでは file:parent がサポートされていないことに注意してください。FTP コンポーネントは、既存のファイルを現在のディレクトリーをベースとする相対ディレクトリーにしか移動できないためです。 | null | false | MEDIUM |
camel.sink.endpoint.tempFileName | tempPrefix オプションと同じですが、ファイル言語を使用するため、一時ファイル名の命名をより細かく制御できます。tempFilename の場所は、ベース uri のターゲットディレクトリーではなく、オプション 'fileName' の最終的なファイルの場所に相対的です。たとえば、オプション fileName にディレクトリー 接頭辞が含まれている場合: dir/finalFilename の場合、tempFileName はそのサブディレクトリー dir に対して相対的です。 | null | false | MEDIUM |
camel.sink.endpoint.tempPrefix | このオプションは、一時的な名前を使用してファイルを書き込み、書き込みが完了した後に、その名前を実際の名前に変更するために使用されます。書き込み中のファイルを識別し、(排他的読み取りロックを使用せずに) コンシューマーが進行中のファイルを読み取らないようにするために使用できます。大きなファイルをアップロードするときに FTP でよく使用されます。 | null | false | MEDIUM |
camel.sink.endpoint.allowNullBody | ファイルの書き込み中に null の本文を許可するかどうかを指定するために使用されます。true に設定すると空のファイルが作成され、false に設定して null の本文をファイルコンポーネントに送信しようとすると、Cannot write null body to file.という GenericFileWriteException が出力されます。fileExist オプションを Override に設定するとファイルは切り捨てられ、append に設定するとファイルは変更されません。 | false | false | MEDIUM |
camel.sink.endpoint.chmod | プロデューサーによって送信されるファイルパーミッションを指定します。chmod の値は 000 から 777 の間の値である必要があります。0755 のように先頭に数字がある場合は無視します。 | null | false | MEDIUM |
camel.sink.endpoint.chmodDirectory | 不足しているディレクトリーをプロデューサーが作成するときに使用するディレクトリーパーミッションを指定します。chmod 値は 000 から 777 の間である必要があります。0755 のように先頭に数字がある場合は無視します。 | null | false | MEDIUM |
camel.sink.endpoint.eagerDeleteTargetFile | 既存のターゲットファイルを積極的に削除するかどうか。このオプションは、fileExists=Override および tempFileName オプションを使用している場合にのみ適用されます。これを使用して、一時ファイルが書き込まれる前にターゲットファイルを削除することを無効化 (false に設定) できます。たとえば、大きなファイルを書き込んで、一時ファイルの書き込み中にターゲットファイルを存在させたい場合があります。これにより、一時ファイルの名前がターゲットファイル名に変更される直前まで、ターゲットファイルは削除されません。このオプションは、fileExist=Move が有効で、既存のファイルが存在する場合に、既存のファイルを削除するかどうかを制御するためにも使用されます。このオプション copyAndDeleteOnRenameFails が false の場合、既存のファイルが存在する場合は例外が出力されます。true の場合、移動操作の前に既存のファイルが削除されます。 | true | false | MEDIUM |
camel.sink.endpoint.forceWrites | ファイルシステムへの書き込みを強制的に同期するかどうか。たとえばログや監査ログへの書き込みなど、このレベルの保証が必要ない場合はオフにすることでパフォーマンスが向上します。 | true | false | MEDIUM |
camel.sink.endpoint.keepLastModified | ソースファイル (存在する場合) からの最終変更のタイムスタンプを保持します。Exchange.FILE_LAST_MODIFIED ヘッダーを使用してタイムスタンプを見つけます。このヘッダーには、java.util.Date またはタイムスタンプ付きの long を含めることができます。タイムスタンプが存在し、オプションが有効な場合は、書き込まれたファイルにこのタイムスタンプが設定されます。注記: このオプションは、ファイルプロデューサーにのみ適用されます。このオプションは、ftp プロデューサーでは使用できません。 | false | false | MEDIUM |
camel.sink.endpoint.moveExistingFileStrategy | fileExist=Move が設定されている場合に使用する特別な命名トークンを持つファイルを移動するために使用されるストラテジー (カスタムストラテジー)。デフォルトでは、カスタムストラテジーが指定されていない場合に使用される実装があります。 | null | false | MEDIUM |
camel.sink.endpoint.autoCreate | ファイルのパス名に不足しているディレクトリーを自動的に作成します。ファイルコンシューマーの場合は、開始ディレクトリーを作成することを意味します。ファイルプロデューサーの場合、ファイルが書き込まれるディレクトリーを意味します。 | true | false | MEDIUM |
camel.sink.endpoint.bufferSize | ファイルの書き込みに使用されるバッファーサイズ (バイト単位) (または、ファイルのダウンロードとアップロードに使用される FTP の場合)。 | 131072 | false | MEDIUM |
camel.sink.endpoint.copyAndDeleteOnRenameFail | ファイルの名前を直接変更できなかった場合に、フォールバックしてファイルのコピーと削除を行うかどうか。このオプションは FTP コンポーネントでは使用できません。 | true | false | MEDIUM |
camel.sink.endpoint.renameUsingCopy | コピーおよび削除ストラテジーを使用して名前変更操作を実行します。これは主に、通常の名前変更操作が信頼できない環境で使用されます (たとえば、異なるファイルシステムまたはネットワーク間)。このオプションは、遅延が追加された後に限り、コピーおよび削除ストラテジーに自動的にフォールバックする copyAndDeleteOnRenameFail パラメーターよりも優先されます。 | false | false | MEDIUM |
camel.sink.endpoint.synchronous | 同期処理を厳密に使用するかどうかを設定します。 | false | false | MEDIUM |
camel.component.file.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.component.file.autowiredEnabled | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | false | MEDIUM |
camel-file シンクコネクターには、すぐに使用できるコンバータはありません。
camel-file シンクコネクターには、すぐに使用できる変換はありません。
camel-file シンクコネクターには、すぐに使用できる集約ストラテジーはありません。
5.9. Hadoop Distributed File System
5.9.1. camel-hdfs-kafka-connector シンク設定
コネクターの説明: Hadoop 2.x を使用して、HDFS ファイルシステムの読み取りと書き込みを行います。
camel-hdfs-kafka-connector をシンクとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。
<dependency> <groupId>org.apache.camel.kafkaconnector</groupId> <artifactId>camel-hdfs-kafka-connector</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel Kafka connector version --> </dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-hdfs-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。
connector.class=org.apache.camel.kafkaconnector.hdfs.CamelHdfsSinkConnector
connector.class=org.apache.camel.kafkaconnector.hdfs.CamelHdfsSinkConnector
camel-hdfs シンクコネクターは、以下に示す 30 のオプションをサポートします。
名前 | 説明 | デフォルト | 必要性 | 優先順位 |
---|---|---|---|---|
camel.sink.path.hostName | 使用する HDFS ホスト | null | true | HIGH |
camel.sink.path.port | 使用する HDFS ポート | 8020 | false | MEDIUM |
camel.sink.path.path | 使用するディレクトリーパス | null | true | HIGH |
camel.sink.endpoint.connectOnStartup | プロデューサー/コンシューマーの起動時に HDFS ファイルシステムに接続するかどうか。false の場合、接続はオンデマンドで作成されます。HDFS は 45 x 20 秒の再配信をハードコーディングしているため、接続を確立するのに最大 15 分かかる場合があることに注意してください。このオプションを false に設定すると、アプリケーションが起動し、最大 15 分間ブロックされなくなります。 | true | false | MEDIUM |
camel.sink.endpoint.fileSystemType | HDFS を使用せず、代わりにローカルの java.io.File を使用するには、LOCAL に設定します。One of: [LOCAL] [HDFS] | "HDFS" | false | MEDIUM |
camel.sink.endpoint.fileType | 使用するファイルの種類。詳細については、さまざまなファイルタイプに関する Hadoop HDFS のドキュメントを参照してください。次のいずれか: [NORMAL_FILE] [SEQUENCE_FILE] [MAP_FILE] [BLOOMMAP_FILE] [ARRAY_FILE] | "NORMAL_FILE" | false | MEDIUM |
camel.sink.endpoint.keyType | シーケンスまたはマップファイルの場合のキーのタイプ。次のいずれか: [NULL] [BOOLEAN] [BYTE] [INT] [FLOAT] [LONG] [DOUBLE] [TEXT] [BYTES] | "NULL" | false | MEDIUM |
camel.sink.endpoint.namedNodes | 名前付きノードのコンマ区切りリスト (例: srv11.example.com:8020,srv12.example.com:8020) | null | false | MEDIUM |
camel.sink.endpoint.owner | コンシューマーがファイルを取得するには、ファイルの所有者がこの所有者と一致する必要があります。それ以外の場合、ファイルはスキップされます。 | null | false | MEDIUM |
camel.sink.endpoint.valueType | シーケンスまたはマップファイルの場合のキーのタイプ: [NULL] [BOOLEAN] [BYTE] [INT] [FLOAT] [LONG] [DOUBLE] [TEXT] [BYTES] のいずれか | "BYTES" | false | MEDIUM |
camel.sink.endpoint.append | 既存のファイルに追加します。すべての HDFS ファイルシステムが追加オプションをサポートしているわけではないことに注意してください。 | false | false | MEDIUM |
camel.sink.endpoint.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.sink.endpoint.overwrite | 同名の既存ファイルを上書きするかどうか | true | false | MEDIUM |
camel.sink.endpoint.blockSize | HDFS ブロックのサイズ | 67108864L | false | MEDIUM |
camel.sink.endpoint.bufferSize | HDFS が使用するバッファーサイズ | 4096 | false | MEDIUM |
camel.sink.endpoint.checkIdleInterval | アイドルチェッカーバックグラウンドタスクを実行する頻度 (ミリ秒単位)。このオプションは、スプリッタ戦略が IDLE の場合にのみ使用されます。 | 500 | false | MEDIUM |
camel.sink.endpoint.chunkSize | 通常のファイルを読み取る場合、これはチャンクに分割され、チャンクごとにメッセージが生成されます。 | 4096 | false | MEDIUM |
camel.sink.endpoint.compressionCodec | 使用する圧縮コーデック [DEFAULT] [GZIP] [BZIP2] のいずれか | "DEFAULT" | false | MEDIUM |
camel.sink.endpoint.compressionType | 使用する圧縮タイプ (デフォルトでは使用されていません) 次のいずれか: [NONE] [RECORD] [BLOCK] | なし | false | MEDIUM |
camel.sink.endpoint.openedSuffix | ファイルが読み取り/書き込み用に開かれると、ファイルはこの接尾辞で名前が変更され、書き込みフェーズ中に読み取られないようにします。 | "opened" | false | MEDIUM |
camel.sink.endpoint.readSuffix | ファイルが読み取られると、この接尾辞を使用して名前が変更され、再度読み取られることがなくなります。 | "read" | false | MEDIUM |
camel.sink.endpoint.replication | HDFS レプリケーション係数 | 3 | false | MEDIUM |
camel.sink.endpoint.splitStrategy | 現在のバージョンの Hadoop では、ファイルを追加モードで開くことは信頼性が低いため無効になっています。そのため、現時点では、新しいファイルを作成することしかできません。Camel HDFS エンドポイントは、この問題を次のように解決しようとします。分割戦略オプションが定義されている場合、hdfs パスがディレクトリーとして使用され、設定された UuidGenerator を使用してファイルが作成されます。分割条件が満たされるたびに、新しいファイルが作成されます。splitStrategy オプションは、次の構文の文字列として定義されます。value MESSAGES 新しいファイルが作成され、書き込まれたメッセージの数が value ミリ秒を超えると古いファイルが閉じられます IDLE 新しいファイルが作成され、最後の value ミリ秒内に書き込みが発生しなかった場合に古いファイルが閉じられます | null | false | MEDIUM |
camel.sink.endpoint.kerberosConfigFileLocation | kerb5.conf ファイルの場所 (https://web.mit.edu/kerberos/krb5-1.12/doc/admin/conf_files/krb5_conf.html) | null | false | MEDIUM |
camel.sink.endpoint.kerberosKeytabLocation | Kerberos ノードでの認証に使用されるキータブファイルの場所 (Kerberos プリンシパルと暗号化されたキー (Kerberos パスワードから派生) のペアを含む) | null | false | MEDIUM |
camel.sink.endpoint.kerberosUsername | Kerberos ノードでの認証に使用されるユーザー名 | null | false | MEDIUM |
camel.component.hdfs.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.component.hdfs.autowiredEnabled | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | false | MEDIUM |
camel.component.hdfs.jAASConfiguration | 指定された設定を JAAS でのセキュリティーに使用するため。 | null | false | MEDIUM |
camel.component.hdfs.kerberosConfigFile | kerberos 認証を使用するには、java.security.krb5.conf 環境変数の値を既存のファイルに設定します。環境変数がすでに設定されている場合、指定されたパラメーターと異なる場合に警告する | null | false | MEDIUM |
camel-hdfs シンクコネクターには、すぐに使用できるコンバータはありません。
camel-hdfs シンクコネクターには、すぐに使える変換はありません。
camel-hdfs シンクコネクターには、すぐに使用できる集約戦略はありません。
5.10. Hypertext Transfer Protocol
5.10.1. camel-http-kafka-connector シンク設定
コネクターの説明: Apache HTTP クライアント 4.x を使用して、外部 HTTP サーバーに要求を送信します。
camel-http-kafka-connector をシンクとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。
<dependency> <groupId>org.apache.camel.kafkaconnector</groupId> <artifactId>camel-http-kafka-connector</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel Kafka connector version --> </dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-http-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。
connector.class=org.apache.camel.kafkaconnector.http.CamelHttpSinkConnector
connector.class=org.apache.camel.kafkaconnector.http.CamelHttpSinkConnector
camel-http シンクコネクターは、以下に示す 78 のオプションをサポートします。
名前 | 説明 | デフォルト | 必要性 | 優先順位 |
---|---|---|---|---|
camel.sink.path.httpUri | 呼び出す HTTP エンドポイントの URL。 | null | true | HIGH |
camel.sink.endpoint.disableStreamCache | サーブレットからの生の入力ストリームがキャッシュされるかどうかを決定します (Camel はストリームをメモリー内/ファイルへのオーバーフロー、ストリームキャッシュに読み込みます)。デフォルトでは、Camel はサーブレット入力ストリームをキャッシュして複数回の読み取りをサポートし、Camel がストリームからすべてのデータを取得できるようにします。ただし、ファイルやその他の永続ストアに直接ストリーミングするなど、生のストリームにアクセスする必要がある場合は、このオプションを true に設定できます。ストリームの複数回の読み取りをサポートするためにこのオプションが false の場合、DefaultHttpBinding は要求入力ストリームをストリームキャッシュにコピーし、それをメッセージ本文に入れます。サーブレットを使用してエンドポイントをブリッジ/プロキシーする場合、メッセージペイロードを複数回読み取る必要がない場合は、このオプションを有効にしてパフォーマンスを向上させることを検討してください。http プロデューサーは、デフォルトで応答本文ストリームをキャッシュします。このオプションを true に設定すると、プロデューサは応答本文ストリームをキャッシュせず、応答ストリームをそのままメッセージ本文として使用します。 | false | false | MEDIUM |
camel.sink.endpoint.headerFilterStrategy | カスタムの HeaderFilterStrategy を使用して、Camel メッセージとの間でヘッダーをフィルタリングします。 | null | false | MEDIUM |
camel.sink.endpoint.httpBinding | カスタム HttpBinding を使用して、Camel メッセージと HttpClient との間のマッピングを制御します。 | null | false | MEDIUM |
camel.sink.endpoint.bridgeEndpoint | オプションが true の場合、HttpProducer は Exchange.HTTP_URI ヘッダーを無視し、エンドポイントの URI を要求に使用します。オプション throwExceptionOnFailure を false に設定して、HttpProducer がすべての障害応答を送り返すようにすることもできます。 | false | false | MEDIUM |
camel.sink.endpoint.chunked | このオプションが false の場合、サーブレットは HTTP ストリーミングを無効にし、応答に content-length ヘッダーを設定します。 | true | false | MEDIUM |
camel.sink.endpoint.clearExpiredCookies | HTTP リクエストを送信する前に期限切れの Cookie をクリアするかどうか。これにより、有効期限が切れたときに削除される新しい Cookie を追加することで、Cookie ストアが成長し続けることがなくなります。 | true | false | MEDIUM |
camel.sink.endpoint.connectionClose | Connection Close ヘッダーを HTTP 要求に追加する必要があるかどうかを指定します。デフォルトでは、connectionClose は false です。 | false | false | MEDIUM |
camel.sink.endpoint.copyHeaders | このオプションが true の場合、IN 交換ヘッダーは、コピー戦略に従って OUT 交換ヘッダーにコピーされます。これを false に設定すると、HTTP 応答からのヘッダーのみを含めることができます (IN ヘッダーは伝播されません)。 | true | false | MEDIUM |
camel.sink.endpoint.customHostHeader | プロデューサーのカスタムホストヘッダーを使用するには。クエリーで設定されていない場合は無視されます。設定すると、url から派生したホストヘッダーが上書きされます。 | null | false | MEDIUM |
camel.sink.endpoint.httpMethod | 使用する HTTP メソッドを設定します。設定されている場合、HttpMethod ヘッダーはこのオプションをオーバーライドできません。次のいずれか: [GET] [POST] [PUT] [DELETE] [HEAD] [OPTIONS] [TRACE] [PATCH] | null | false | MEDIUM |
camel.sink.endpoint.ignoreResponseBody | このオプションが true の場合、http プロデューサーは応答本文を読み取らず、入力ストリームをキャッシュしません。 | false | false | MEDIUM |
camel.sink.endpoint.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.sink.endpoint.preserveHostHeader | オプションが true の場合、HttpProducer は Host ヘッダーを現在の Exchange Host ヘッダーに含まれる値に設定します。これは、ダウンストリームサーバーが受信した Host ヘッダーにアップストリームクライアントが呼び出した URL を反映させたいリバースプロキシーアプリケーションで役立ちます。Host ヘッダーを使用するアプリケーションが、プロキシーされたサービスの正確な URL を生成できるようにします。 | false | false | MEDIUM |
camel.sink.endpoint.throwExceptionOnFailure | リモートサーバーからの応答が失敗した場合に HttpOperationFailedException を出力することを無効にするオプション。これにより、HTTP ステータスコードに関係なくすべての応答を取得できます。 | true | false | MEDIUM |
camel.sink.endpoint.transferException | 有効にすると、エクスチェンジがコンシューマー側で処理に失敗し、発生した例外が application/x-java-serialized-object コンテンツタイプとして応答でシリアライズされた場合に、例外がシリアライズされました。プロデューサー側では、例外がデシリアライズされ、HttpOperationFailedException ではなくそのまま出力されます。原因となった例外はシリアライズする必要があります。これは、デフォルトでオフになっています。これを有効にすると、Java が受信データをリクエストから Java にデシリアライズし、セキュリティー上のリスクが生じる可能性があることに注意してください。 | false | false | MEDIUM |
camel.sink.endpoint.cookieHandler | HTTP セッションを維持するようにクッキーハンドラーを設定する | null | false | MEDIUM |
camel.sink.endpoint.cookieStore | カスタム CookieStore を使用するには。デフォルトでは、メモリー内のみの Cookie ストアである BasicCookieStore が使用されます。bridgeEndpoint=true の場合、Cookie ストアは強制的に noop cookie ストアになることに注意してください。これは、単にブリッジしているだけであるため (たとえば、プロキシーとして動作するため)、Cookie を保存するべきではないためです。cookieHandler が設定されている場合、cookie の処理は cookieHandler によって実行されるため、cookie ストアも強制的に noop cookie ストアになります。 | null | false | MEDIUM |
camel.sink.endpoint.deleteWithBody | HTTP DELETE にメッセージ本文を含めるかどうか。デフォルトでは、HTTP DELETE には HTTP 本文は含まれません。ただし、ごくまれに、ユーザーがメッセージ本文を含める必要がある場合があります。 | false | false | MEDIUM |
camel.sink.endpoint.getWithBody | HTTP GET にメッセージ本文を含めるかどうか。デフォルトでは、HTTP GET には HTTP 本文は含まれません。ただし、ごくまれに、ユーザーがメッセージ本文を含める必要がある場合があります。 | false | false | MEDIUM |
camel.sink.endpoint.okStatusCodeRange | 正常な応答と見なされるステータスコード。値は含まれます。複数の範囲をコンマで区切って定義できます (例: 200-204,209,301-304)。各範囲は、ダッシュを含む 1 つの数字または from-to である必要があります。 | "200-299" | false | MEDIUM |
camel.sink.endpoint.clientBuilder | このエンドポイントのプロデューサーまたはコンシューマーによって使用される新しい RequestConfig インスタンスで使用される http クライアント要求パラメーターへのアクセスを提供します。 | null | false | MEDIUM |
camel.sink.endpoint.clientConnectionManager | カスタム HttpClientConnectionManager を使用して接続を管理するには | null | false | MEDIUM |
camel.sink.endpoint.connectionsPerRoute | ルートごとの接続の最大数。 | 20 | false | MEDIUM |
camel.sink.endpoint.httpClient | プロデューサーが使用するカスタム HttpClient を設定します | null | false | MEDIUM |
camel.sink.endpoint.httpClientConfigurer | 認証メカニズムなどを設定するために、プロデューサーまたはコンシューマーによって作成された新しい HttpClient インスタンスのカスタム設定戦略を登録します。 | null | false | MEDIUM |
camel.sink.endpoint.httpClientOptions | マップのキー/値を使用して HttpClient を設定するには。 | null | false | MEDIUM |
camel.sink.endpoint.httpContext | カスタム HttpContext インスタンスを使用します | null | false | MEDIUM |
camel.sink.endpoint.mapHttpMessageBody | このオプションが true の場合、交換の IN exchange ボディは HTTP ボディにマップされます。これを false に設定すると、HTTP マッピングが回避されます。 | true | false | MEDIUM |
camel.sink.endpoint.mapHttpMessageFormUrlEncoded Body | このオプションが true の場合、交換の IN exchange Form Encoded ボディは HTTP にマップされます。これを false に設定すると、HTTP Form Encoded ボディマッピングが回避されます。 | true | false | MEDIUM |
camel.sink.endpoint.mapHttpMessageHeaders | このオプションが true の場合、交換の IN exchange ヘッダーは HTTP ヘッダーにマップされます。これを false に設定すると、HTTP ヘッダーのマッピングが回避されます。 | true | false | MEDIUM |
camel.sink.endpoint.maxTotalConnections | 接続の最大数。 | 200 | false | MEDIUM |
camel.sink.endpoint.useSystemProperties | システムプロパティーを設定のフォールバックとして使用します | false | false | MEDIUM |
camel.sink.endpoint.proxyAuthDomain | NTML で使用するプロキシー認証ドメイン | null | false | MEDIUM |
camel.sink.endpoint.proxyAuthHost | プロキシー認証ホスト | null | false | MEDIUM |
camel.sink.endpoint.proxyAuthMethod | 使用するプロキシー認証方式 Basic Digest NTLM のいずれか | null | false | MEDIUM |
camel.sink.endpoint.proxyAuthNtHost | NTML で使用するプロキシー認証ドメイン (ワークステーション名) | null | false | MEDIUM |
camel.sink.endpoint.proxyAuthPassword | プロキシー認証パスワード | null | false | MEDIUM |
camel.sink.endpoint.proxyAuthPort | プロキシー認証ポート | null | false | MEDIUM |
camel.sink.endpoint.proxyAuthScheme | 使用するプロキシー認証方式: http https のいずれか | null | false | MEDIUM |
camel.sink.endpoint.proxyAuthUsername | プロキシー認証のユーザー名 | null | false | MEDIUM |
camel.sink.endpoint.proxyHost | 使用するプロキシーホスト名 | null | false | MEDIUM |
camel.sink.endpoint.proxyPort | 使用するプロキシーポート | null | false | MEDIUM |
camel.sink.endpoint.authDomain | NTML で使用する認証ドメイン | null | false | MEDIUM |
camel.sink.endpoint.authenticationPreemptive | このオプションが true の場合、camel-http はプリエンプティブ基本認証をサーバーに送信します。 | false | false | MEDIUM |
camel.sink.endpoint.authHost | NTML で使用する認証ホスト | null | false | MEDIUM |
camel.sink.endpoint.authMethod | Basic、Digest、または NTLM の値のコンマ区切りリストとして使用できる認証方法。 | null | false | MEDIUM |
camel.sink.endpoint.authMethodPriority | 基本、ダイジェスト、または NTLM のいずれかとして、優先して使用する認証方法。基本 ダイジェスト NTLM のいずれか | null | false | MEDIUM |
camel.sink.endpoint.authPassword | 認証パスワード | null | false | MEDIUM |
camel.sink.endpoint.authUsername | 認証ユーザー名 | null | false | MEDIUM |
camel.sink.endpoint.sslContextParameters | SSLContextParameters を使用してセキュリティーを設定する場合。重要: HttpComponent ごとにサポートされる org.apache.camel.util.jsse.SSLContextParameters のインスタンスは 1 つだけです。2 つ以上の異なるインスタンスを使用する必要がある場合は、必要なインスタンスごとに新しい HttpComponent を定義する必要があります。 | null | false | MEDIUM |
camel.sink.endpoint.x509HostnameVerifier | DefaultHostnameVerifier や NoopHostnameVerifier などのカスタム X509HostnameVerifier を使用します | null | false | MEDIUM |
camel.component.http.cookieStore | カスタム org.apache.http.client.CookieStore を使用するには。デフォルトでは、メモリー内のみの Cookie ストアである org.apache.http.impl.client.BasicCookieStore が使用されます。bridgeEndpoint=true の場合、Cookie ストアは強制的に noop cookie ストアになることに注意してください。これは、単にブリッジしているだけであるため (たとえば、プロキシーとして動作するため)、Cookie を保存するべきではないためです。 | null | false | MEDIUM |
camel.component.http.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.component.http.allowJavaSerializedObject | リクエストが context-type=application/x-java-serialized-object を使用する場合に Java シリアル化を許可するかどうか。これは、デフォルトでオフになっています。これを有効にすると、Java が受信データをリクエストから Java にデシリアライズし、セキュリティー上のリスクが生じる可能性があることに注意してください。 | false | false | MEDIUM |
camel.component.http.autowiredEnabled | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | false | MEDIUM |
camel.component.http.clientConnectionManager | カスタムおよび共有の HttpClientConnectionManager を使用して接続を管理するには。これが設定されている場合、これは、このコンポーネントによって作成されたすべてのエンドポイントに常に使用されます。 | null | false | MEDIUM |
camel.component.http.connectionsPerRoute | ルートごとの接続の最大数。 | 20 | false | MEDIUM |
camel.component.http.connectionTimeToLive | 接続が有効になるまでの時間。単位はミリ秒で、デフォルト値は常にキープアライブです。 | null | false | MEDIUM |
camel.component.http.httpBinding | カスタム HttpBinding を使用して、Camel メッセージと HttpClient との間のマッピングを制御します。 | null | false | MEDIUM |
camel.component.http.httpClientConfigurer | カスタム HttpClientConfigurer を使用して、使用される HttpClient の設定を実行します。 | null | false | MEDIUM |
camel.component.http.httpConfiguration | 共有 HttpConfiguration を基本設定として使用するには、以下を行います。 | null | false | MEDIUM |
camel.component.http.httpContext | リクエストの実行時にカスタム org.apache.http.protocol.HttpContext を使用するには。 | null | false | MEDIUM |
camel.component.http.maxTotalConnections | 接続の最大数。 | 200 | false | MEDIUM |
camel.component.http.headerFilterStrategy | カスタムの org.apache.camel.spi.HeaderFilterStrategy を使用して、Camel メッセージとの間でヘッダーをフィルターします。 | null | false | MEDIUM |
camel.component.http.proxyAuthDomain | 使用するプロキシー認証ドメイン | null | false | MEDIUM |
camel.component.http.proxyAuthHost | プロキシー認証ホスト | null | false | MEDIUM |
camel.component.http.proxyAuthMethod | 使用するプロキシー認証方式 Basic Digest NTLM のいずれか | null | false | MEDIUM |
camel.component.http.proxyAuthNtHost | NTML で使用するプロキシー認証ドメイン (ワークステーション名) | null | false | MEDIUM |
camel.component.http.proxyAuthPassword | プロキシー認証パスワード | null | false | MEDIUM |
camel.component.http.proxyAuthPort | プロキシー認証ポート | null | false | MEDIUM |
camel.component.http.proxyAuthUsername | プロキシー認証のユーザー名 | null | false | MEDIUM |
camel.component.http.sslContextParameters | SSLContextParameters を使用してセキュリティーを設定する場合。重要: HttpComponent ごとにサポートされる org.apache.camel.support.jsse.SSLContextParameters のインスタンスは 1 つだけです。2 つ以上の異なるインスタンスを使用する必要がある場合は、必要なインスタンスごとに新しい HttpComponent を定義する必要があります。 | null | false | MEDIUM |
camel.component.http.useGlobalSslContextParameters | グローバル SSL コンテキストパラメーターの使用を有効にします。 | false | false | MEDIUM |
camel.component.http.x509HostnameVerifier | DefaultHostnameVerifier や NoopHostnameVerifier などのカスタム X509HostnameVerifier を使用します。 | null | false | MEDIUM |
camel.component.http.connectionRequestTimeout | 接続マネージャーからの接続を要求するときに使用されるミリ秒単位のタイムアウト。タイムアウト値 0 は無限のタイムアウトとして解釈されます。タイムアウト値 0 は無限のタイムアウトとして解釈されます。負の値は未定義として解釈されます (該当する場合はシステムのデフォルト)。 | -1 | false | MEDIUM |
camel.component.http.connectTimeout | 接続が確立されるまでのタイムアウトをミリ秒単位で決定します。タイムアウト値 0 は無限のタイムアウトとして解釈されます。タイムアウト値 0 は無限のタイムアウトとして解釈されます。負の値は未定義として解釈されます (該当する場合はシステムのデフォルト)。 | -1 | false | MEDIUM |
camel.component.http.socketTimeout | ソケットのタイムアウトをミリ秒単位で定義します。これは、データを待機するためのタイムアウト、または別の言い方をすれば、2 つの連続するデータパケット間の最大非アクティブ期間です)。タイムアウト値 0 は無限のタイムアウトとして解釈されます。負の値は未定義として解釈されます (該当する場合はシステムのデフォルト)。 | -1 | false | MEDIUM |
camel-http シンクコネクターには、すぐに使用できるコンバーターはありません。
camel-http シンクコネクターには、すぐに使える変換はありません。
camel-http シンクコネクターには、すぐに使用できる集約ストラテジーはありません。
5.11. Java Database Connectivity
5.11.1. camel-jdbc-kafka-connector シンク設定
コネクターの説明: SQL および JDBC を介してデータベースにアクセスします。
camel-jdbc-kafka-connector をシンクとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。
<dependency> <groupId>org.apache.camel.kafkaconnector</groupId> <artifactId>camel-jdbc-kafka-connector</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel Kafka connector version --> </dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-jdbc-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。
connector.class=org.apache.camel.kafkaconnector.jdbc.CamelJdbcSinkConnector
connector.class=org.apache.camel.kafkaconnector.jdbc.CamelJdbcSinkConnector
camel-jdbc シンクコネクターは、以下に示す 17 のオプションをサポートします。
名前 | 説明 | デフォルト | 必要性 | 優先順位 |
---|---|---|---|---|
camel.sink.path.dataSourceName | レジストリーで検索する DataSource の名前。名前が dataSource または default の場合、Camel はレジストリーからデフォルトの DataSource を検索しようとします。つまり、DataSource のインスタンスが 1 つしか見つからない場合、この DataSource が使用されます。 | null | true | HIGH |
camel.sink.endpoint.allowNamedParameters | クエリーで名前付きパラメーターの使用を許可するかどうか。 | true | false | MEDIUM |
camel.sink.endpoint.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.sink.endpoint.outputClass | outputType=SelectOne または SelectList の場合、変換として使用する完全なパッケージ名とクラス名を指定します。 | null | false | MEDIUM |
camel.sink.endpoint.outputType | プロデューサーが使用する出力を決定します。One of: [SelectOne] [SelectList] [StreamList] | "SelectList" | false | MEDIUM |
camel.sink.endpoint.parameters | java.sql.Statement へのオプションパラメーター。たとえば、maxRows、fetchSize などを設定します。 | null | false | MEDIUM |
camel.sink.endpoint.readSize | ポーリングクエリーで読み取ることができるデフォルトの最大行数。デフォルト値は 0 です。 | null | false | MEDIUM |
camel.sink.endpoint.resetAutoCommit | Camel は JDBC 接続の autoCommit を false に設定し、ステートメントの実行後に変更をコミットし、resetAutoCommit が true の場合、最後に接続の autoCommit フラグをリセットします。JDBC 接続が autoCommit フラグのリセットをサポートしていない場合、resetAutoCommit フラグを false に設定すると、Camel は autoCommit フラグをリセットしようとしません。XA トランザクションで使用する場合は、トランザクションマネージャーがこの tx のコミットを担当するように、おそらく false に設定する必要があります。 | true | false | MEDIUM |
camel.sink.endpoint.transacted | トランザクションが使用中かどうか。 | false | false | MEDIUM |
camel.sink.endpoint.useGetBytesForBlob | BLOB 列を文字列データではなくバイトとして読み取る。これは、BLOB 列をバイトとして読み取る必要がある Oracle などの特定のデータベースで必要になる場合があります。 | false | false | MEDIUM |
camel.sink.endpoint.useHeadersAsParameters | 名前付きパラメーターで prepareStatementStrategy を使用するには、このオプションを true に設定します。これにより、名前付きプレースホルダーを使用してクエリーを定義し、クエリープレースホルダーの動的な値を持つヘッダーを使用できます。 | false | false | MEDIUM |
camel.sink.endpoint.useJDBC4ColumnNameAndLabel Semantics | 列名を取得するときに、JDBC 4 または JDBC 3.0 以前のセマンティックを使用するかどうかを設定します。JDBC 4.0 は columnLabel を使用して列名を取得しますが、JDBC 3.0 は columnName または columnLabel の両方を使用します。残念ながら、JDBC ドライバーは動作が異なるため、このコンポーネントを使用して問題が発生した場合は、このオプションを使用して JDBC ドライバーに関する問題を解決できます。このオプションはデフォルトで true です。 | true | false | MEDIUM |
camel.sink.endpoint.beanRowMapper | outputClass の使用時にカスタム org.apache.camel.component.jdbc.BeanRowMapper を使用するには。デフォルトの実装では、行名が小文字になり、アンダースコアとダッシュがスキップされます。たとえば、CUST_ID は custId としてマップされます。 | null | false | MEDIUM |
camel.sink.endpoint.prepareStatementStrategy | プラグインがカスタム org.apache.camel.component.jdbc.JdbcPrepareStatementStrategy を使用してクエリーと準備済みステートメントの準備を制御できるようにします。 | null | false | MEDIUM |
camel.component.jdbc.dataSource | レジストリーから名前でデータソースを検索する代わりに、DataSource インスタンスを使用します。 | null | false | MEDIUM |
camel.component.jdbc.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.component.jdbc.autowiredEnabled | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | false | MEDIUM |
camel-jdbc シンクコネクターには、すぐに使用できるコンバーターはありません。
camel-jdbc シンクコネクターには、すぐに使える変換はありません。
camel-jdbc シンクコネクターには、すぐに使用できる集約ストラテジーはありません。
5.12. Java Message Service
5.12.1. camel-sjms-kafka-connector シンク設定
コネクターの説明: プレーンな JMS 1.x API を使用して、JMS キューまたはトピックとの間でメッセージを送受信します。
camel-sjms-kafka-connector をシンクとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。
<dependency> <groupId>org.apache.camel.kafkaconnector</groupId> <artifactId>camel-sjms-kafka-connector</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel Kafka connector version --> </dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-sjms-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。
connector.class=org.apache.camel.kafkaconnector.sjms.CamelSjmsSinkConnector
connector.class=org.apache.camel.kafkaconnector.sjms.CamelSjmsSinkConnector
camel-sjms シンクコネクターは、以下に示す 43 のオプションをサポートします。
名前 | 説明 | デフォルト | 必要性 | 優先順位 |
---|---|---|---|---|
camel.sink.path.destinationType | 使用する送信先の種類: [queue] [topic]のいずれか | "queue" | false | MEDIUM |
camel.sink.path.destinationName | ここで、DestinationName は JMS キューまたはトピック名です。デフォルトでは、destinationName はキュー名として解釈されます。 | null | true | HIGH |
camel.sink.endpoint.acknowledgementMode | 次のいずれかの JMS 確認応答名: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE One of: [SESSION_TRANSACTED] [CLIENT_ACKNOWLEDGE] [AUTO_ACKNOWLEDGE] [DUPS_OK_ACKNOWLEDGE] のいずれか | "AUTO_ACKNOWLEDGE" | false | MEDIUM |
camel.sink.endpoint.connectionFactory | 使用する接続ファクトリー。コンポーネントまたはエンドポイントで接続ファクトリーを設定する必要があります。 | null | false | MEDIUM |
camel.sink.endpoint.disableReplyTo | Camel がメッセージの JMSReplyTo ヘッダーを無視するかどうかを指定します。true の場合、Camel は JMSReplyTo ヘッダーで指定された宛先に返信を送り返しません。Camel にルートから消費させたいが、コード内の別のコンポーネントが応答メッセージを処理するため、Camel に自動的に応答メッセージを送り返したくない場合は、このオプションを使用できます。Camel を異なるメッセージブローカー間のプロキシーとして使用し、あるシステムから別のシステムにメッセージをルーティングする場合にも、このオプションを使用できます。 | false | false | MEDIUM |
camel.sink.endpoint.replyTo | 明示的な ReplyTo 宛先を提供します (コンシューマーの Message.getJMSReplyTo() の着信値をオーバーライドします)。 | null | false | MEDIUM |
camel.sink.endpoint.testConnectionOnStartup | 起動時に接続をテストするかどうかを指定します。これにより、Camel の起動時に、すべての JMS コンシューマーが JMS ブローカーへの有効な接続を持つことが保証されます。接続を許可できない場合、Camel は起動時に例外を出力します。これにより、接続に失敗した状態で Camel が開始されなくなります。JMS プロデューサーもテストされています。 | false | false | MEDIUM |
camel.sink.endpoint.deliveryMode | 使用する配信モードを指定します。可能な値は、javax.jms.DeliveryMode で定義された値です。NON_PERSISTENT = 1 および PERSISTENT = 2。[1] [2] のいずれかになります。 | null | false | MEDIUM |
camel.sink.endpoint.deliveryPersistent | デフォルトで永続配信を使用するかどうかを指定します。 | true | false | MEDIUM |
camel.sink.endpoint.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.sink.endpoint.priority | 1 より大きい値は、送信時のメッセージの優先度を指定します (1 が最低の優先度で、9 が最高の優先度です)。このオプションを有効にするには、explicitQosEnabled オプションも有効にする必要があります。[1] [2] [3] [4] [5] [6] [7] [8] [9] のいずれかになります。 | 4 | false | MEDIUM |
camel.sink.endpoint.replyToConcurrentConsumers | JMS を介して要求/応答を行うときの同時コンシューマーのデフォルト数を指定します。スレッドの動的なスケールアップ/ダウンを制御するには、maxMessagesPerTask オプションも参照してください。 | 1 | false | MEDIUM |
camel.sink.endpoint.replyToOverride | JMS メッセージで明示的な ReplyTo 宛先を提供します。これは、replyTo の設定をオーバーライドします。メッセージをリモート Queue に転送し、ReplyTo 宛先から応答メッセージを受け取る場合に便利です。 | null | false | MEDIUM |
camel.sink.endpoint.replyToType | JMS を介して要求/応答を行うときに、replyTo キューに使用する戦略の種類を明示的に指定できます。可能な値は次のとおりです。Temporary または Exclusive。デフォルトでは、Camel は一時キューを使用します。ただし、replyTo が設定されている場合は、Exclusive が使用されます。[Temporary] [Exclusive] のいずれか | null | false | MEDIUM |
camel.sink.endpoint.requestTimeout | InOut Exchange パターン使用時の応答待ちタイムアウト (ミリ秒単位)。デフォルトは 20 秒です。ヘッダー CamelJmsRequestTimeout を含めて、このエンドポイントで設定されたタイムアウト値をオーバーライドし、メッセージごとに個別のタイムアウト値を持つことができます。requestTimeoutCheckerInterval オプションも参照してください。 | 20000L | false | MEDIUM |
camel.sink.endpoint.timeToLive | メッセージの送信時に、メッセージの有効期限をミリ秒単位で指定します。 | -1L | false | MEDIUM |
camel.sink.endpoint.allowNullBody | ボディーのないメッセージの送信を許可するかどうか。このオプションが false でメッセージボディーが null の場合は、JMSException が出力されます。 | true | false | MEDIUM |
camel.sink.endpoint.disableTimeToLive | このオプションを使用して、有効期限を強制的に無効にします。たとえば、JMS を介して要求/応答を行う場合、Camel はデフォルトで、送信されるメッセージの存続時間として requestTimeout 値を使用します。問題は、送信側システムと受信側システムのクロックを同期させる必要があるため、同期していることです。これをアーカイブするのは必ずしも簡単ではありません。したがって、disableTimeToLive=true を使用して、送信されたメッセージに有効期限の値を設定しないようにすることができます。その後、メッセージは受信側システムで期限切れになりません。詳細については、以下の生存時間についてのセクションを参照してください。 | false | false | MEDIUM |
camel.sink.endpoint.explicitQosEnabled | メッセージの送信時に、deliveryMode、priority、または timeToLive のサービス品質を使用する必要があるかどうかを設定します。このオプションは、Spring の JmsTemplate に基づいています。deliveryMode、priority、および timeToLive オプションは、現在のエンドポイントに適用されます。これは、メッセージの粒度で動作し、Camel In メッセージヘッダーから排他的に QoS プロパティーを読み取る preserveMessageQos オプションとは対照的です。 | "false" | false | MEDIUM |
camel.sink.endpoint.preserveMessageQos | JMS エンドポイントの QoS 設定ではなく、メッセージで指定された QoS 設定を使用してメッセージを送信する場合は、true に設定します。次の 3 つのヘッダーは、JMSPriority、JMSDeliveryMode、および JMSExpiration と見なされます。それらのすべてまたは一部のみを指定できます。指定されていない場合、Camel は代わりにエンドポイントからの値を使用するようにフォールバックします。したがって、このオプションを使用すると、ヘッダーはエンドポイントからの値をオーバーライドします。対照的に、explicitQosEnabled オプションは、エンドポイントに設定されたオプションのみを使用し、メッセージヘッダーの値は使用しません。 | false | false | MEDIUM |
camel.sink.endpoint.asyncStartListener | ルートの開始時に consumer メッセージリスナーを非同期で開始するかどうか。たとえば、JmsConsumer がリモート JMS ブローカーへの接続を取得できない場合は、再試行中やフェイルオーバー中にブロックされる可能性があります。これにより、ルートの開始時に Camel がブロックされます。このオプションを true に設定すると、ルートの起動を許可します。一方、JmsConsumer は非同期モードで専用のスレッドを使用して JMS ブローカーに接続します。このオプションを使用する場合は、接続を確立できない場合は例外が WARN レベルでログに記録され、コンシューマーはメッセージを受信できず、ルートを再起動して再試行できます。 | false | false | MEDIUM |
camel.sink.endpoint.asyncStopListener | ルートを停止するときに、consumer メッセージリスナーを非同期的に停止するかどうか。 | false | false | MEDIUM |
camel.sink.endpoint.destinationCreationStrategy | カスタム DestinationCreationStrategy を使用するには。 | null | false | MEDIUM |
camel.sink.endpoint.exceptionListener | 基礎となる JMS 例外の通知を受ける JMS 例外リスナーを指定します。 | null | false | MEDIUM |
camel.sink.endpoint.headerFilterStrategy | カスタムの HeaderFilterStrategy を使用して、Camel メッセージとの間でヘッダーをフィルタリングします。 | null | false | MEDIUM |
camel.sink.endpoint.includeAllJMSXProperties | JMS から Camel Message へのマッピング時に JMSXxxx プロパティーをすべて含めるかどうか。これを true に設定すると、JMSXAppID や JMSXUserID などのプロパティーが含まれます。注記: カスタムの headerFilterStrategy を使用している場合、このオプションは適用されません。 | false | false | MEDIUM |
camel.sink.endpoint.jmsKeyFormatStrategy | JMS 仕様に準拠できるように、JMS キーをエンコードおよびデコードするためのプラグ可能な戦略。Camel は、追加設定なしで、default と passthrough の 2 つの実装を提供します。デフォルトのストラテジーでは、ドットとハイフン(. および -)を安全にマーシャリングします。パススルー戦略では、キーはそのまま残ります。JMS ヘッダーキーに不正な文字が含まれているかどうかは問題にならない JMS ブローカーに使用できます。org.apache.camel.component.jms.JmsKeyFormatStrategy の独自の実装を提供し、# 表記を使用して参照できます。 | null | false | MEDIUM |
camel.sink.endpoint.mapJmsMessage | Camel が受信した JMS メッセージを適切なペイロードタイプ (javax.jms.TextMessage を文字列など) に自動マップするかどうかを指定します。詳細については、以下のマッピングの仕組みに関するセクションを参照してください。 | true | false | MEDIUM |
camel.sink.endpoint.messageCreatedStrategy | Camel が JMS メッセージを送信しているときに、Camel が javax.jms.Message オブジェクトの新しいインスタンスを作成するときに呼び出される、指定された MessageCreatedStrategy を使用します。 | null | false | MEDIUM |
camel.sink.endpoint.recoveryInterval | リカバリーの試行の間隔を指定します。つまり、接続が更新されるタイミング(ミリ秒単位)を指定します。デフォルトは 5000 ミリ秒、つまり 5 秒です。 | 5000L | false | MEDIUM |
camel.sink.endpoint.synchronous | 同期処理を厳密に使用するかどうかを設定します。 | false | false | MEDIUM |
camel.sink.endpoint.transferException | 有効で、Request Reply メッセージング (InOut) を使用していて、Exchange がコンシューマー側で失敗した場合、原因となった例外が javax.jms.ObjectMessage として応答で返されます。クライアントが Camel の場合、返された Exception は再出力されます。これにより、Camel JMS をルーティングのブリッジとして使用できます。たとえば、永続的なキューを使用して堅牢なルーティングを有効にできます。transferExchange も有効にしている場合は、このオプションが優先されることに注意してください。キャッチされた例外はシリアライズ可能である必要があります。コンシューマー側の元の Exception は、プロデューサーに返されるときに org.apache.camel.RuntimeCamelException などの外部例外にラップできます。データは Java オブジェクトのシリアライゼーションを使用しており、受信側がクラスレベルでデータをデシリアライズできる必要があるため、これは注意して使用してください。 | false | false | MEDIUM |
camel.sink.endpoint.transacted | トランザクションモードを使用するかどうかを指定します | false | false | MEDIUM |
camel.component.sjms.connectionFactory | 使用する接続ファクトリー。コンポーネントまたはエンドポイントで接続ファクトリーを設定する必要があります。 | null | false | MEDIUM |
camel.component.sjms.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.component.sjms.autowiredEnabled | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | false | MEDIUM |
camel.component.sjms.destinationCreationStrategy | カスタム DestinationCreationStrategy を使用するには。 | null | false | MEDIUM |
camel.component.sjms.jmsKeyFormatStrategy | JMS 仕様に準拠できるように、JMS キーをエンコードおよびデコードするためのプラグ可能な戦略。Camel はすぐに使用できる 1 つの実装を提供します: デフォルトです。デフォルトのストラテジーでは、ドットとハイフン(. および -)を安全にマーシャリングします。JMS ヘッダーキーに不正な文字が含まれているかどうかは問題にならない JMS ブローカーに使用できます。org.apache.camel.component.jms.JmsKeyFormatStrategy の独自の実装を提供し、# 表記を使用して参照できます。 | null | false | MEDIUM |
camel.component.sjms.messageCreatedStrategy | Camel が JMS メッセージを送信しているときに、Camel が javax.jms.Message オブジェクトの新しいインスタンスを作成するときに呼び出される、指定された MessageCreatedStrategy を使用します。 | null | false | MEDIUM |
camel.component.sjms.recoveryInterval | リカバリーの試行の間隔を指定します。つまり、接続が更新されるタイミング(ミリ秒単位)を指定します。デフォルトは 5000 ミリ秒、つまり 5 秒です。 | 5000L | false | MEDIUM |
camel.component.sjms.replyToOnTimeoutMaxConcurrent Consumers | JMS 経由の要求/応答を使用するときにタイムアウトが発生したときに、ルーティングを継続するための同時コンシューマーの最大数を指定します。 | 1 | false | MEDIUM |
camel.component.sjms.requestTimeoutCheckerInterval | JMS を介してリクエスト/リプライを行うときに、Camel がタイムアウトになった Exchange をチェックする頻度を設定します。デフォルトでは、Camel は 1 秒に 1 回確認します。ただし、タイムアウトが発生したときに迅速に対応する必要がある場合は、この間隔を短くして、より頻繁にチェックすることができます。タイムアウトは、オプション requestTimeout によって決定されます。 | 1000L | false | MEDIUM |
camel.component.sjms.headerFilterStrategy | カスタムの org.apache.camel.spi.HeaderFilterStrategy を使用して、Camel メッセージとの間でヘッダーをフィルターします。 | null | false | MEDIUM |
camel-sjms シンクコネクターには、すぐに使用できるコンバータはありません。
camel-sjms シンクコネクターには、すぐに使える変換はありません。
camel-sjms シンクコネクターには、すぐに使用できる集約ストラテジーはありません。
5.12.2. camel-sjms-kafka-connector ソース設定
コネクターの説明: プレーンな JMS 1.x API を使用して、JMS キューまたはトピックとの間でメッセージを送受信します。
camel-sjms-kafka-connector をソースとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。
<dependency> <groupId>org.apache.camel.kafkaconnector</groupId> <artifactId>camel-sjms-kafka-connector</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel Kafka connector version --> </dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-sjms-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
Kafka コネクションでこのソースコネクターを使用するには、以下の connector.class を設定する必要があります。
connector.class=org.apache.camel.kafkaconnector.sjms.CamelSjmsSourceConnector
connector.class=org.apache.camel.kafkaconnector.sjms.CamelSjmsSourceConnector
camel-sjms ソースコネクターは、以下に示す 43 のオプションをサポートします。
名前 | 説明 | デフォルト | 必要性 | 優先順位 |
---|---|---|---|---|
camel.source.path.destinationType | 使用する送信先の種類: [queue] [topic]のいずれか | "queue" | false | MEDIUM |
camel.source.path.destinationName | ここで、DestinationName は JMS キューまたはトピック名です。デフォルトでは、destinationName はキュー名として解釈されます。 | null | true | HIGH |
camel.source.endpoint.acknowledgementMode | 次のいずれかの JMS 確認応答名: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE One of: [SESSION_TRANSACTED] [CLIENT_ACKNOWLEDGE] [AUTO_ACKNOWLEDGE] [DUPS_OK_ACKNOWLEDGE] のいずれか | "AUTO_ACKNOWLEDGE" | false | MEDIUM |
camel.source.endpoint.connectionFactory | 使用する接続ファクトリー。コンポーネントまたはエンドポイントで接続ファクトリーを設定する必要があります。 | null | false | MEDIUM |
camel.source.endpoint.disableReplyTo | Camel がメッセージの JMSReplyTo ヘッダーを無視するかどうかを指定します。true の場合、Camel は JMSReplyTo ヘッダーで指定された宛先に返信を送り返しません。Camel にルートから消費させたいが、コード内の別のコンポーネントが応答メッセージを処理するため、Camel に自動的に応答メッセージを送り返したくない場合は、このオプションを使用できます。Camel を異なるメッセージブローカー間のプロキシーとして使用し、あるシステムから別のシステムにメッセージをルーティングする場合にも、このオプションを使用できます。 | false | false | MEDIUM |
camel.source.endpoint.replyTo | 明示的な ReplyTo 宛先を提供します (コンシューマーの Message.getJMSReplyTo() の着信値をオーバーライドします)。 | null | false | MEDIUM |
camel.source.endpoint.testConnectionOnStartup | 起動時に接続をテストするかどうかを指定します。これにより、Camel の起動時に、すべての JMS コンシューマーが JMS ブローカーへの有効な接続を持つことが保証されます。接続を許可できない場合、Camel は起動時に例外を出力します。これにより、接続に失敗した状態で Camel が開始されなくなります。JMS プロデューサーもテストされています。 | false | false | MEDIUM |
camel.source.endpoint.asyncConsumer | JmsConsumer が Exchange を非同期的に処理するかどうか。有効にすると、JmsConsumer は JMS キューから次のメッセージを取得できますが、前のメッセージは (非同期ルーティングエンジンによって) 非同期に処理されます。これは、メッセージが 100% 厳密に順序どおりに処理されない可能性があることを意味します。無効になっている場合 (デフォルト)、JmsConsumer が JMS キューから次のメッセージを取得する前に Exchange が完全に処理されます。transactioned が有効になっている場合、トランザクションは同期的に実行する必要があるため、asyncConsumer=true は非同期的に実行されないことに注意してください (Camel 3.0 は非同期トランザクションをサポートする場合があります)。 | false | false | MEDIUM |
camel.source.endpoint.autoStartup | コンシューマーコンテナーを自動起動するかどうかを指定します。 | true | false | MEDIUM |
camel.source.endpoint.bridgeErrorHandler | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | false | MEDIUM |
camel.source.endpoint.clientId | 使用する JMS クライアント ID を設定します。この値を指定する場合は、一意である必要があり、単一の JMS 接続インスタンスでのみ使用できることに注意してください。通常、永続的なトピックサブスクリプションの場合にのみ必要です。Apache ActiveMQ を使用している場合は、代わりに仮想トピックを使用することをお勧めします。 | null | false | MEDIUM |
camel.source.endpoint.concurrentConsumers | JMS から消費する場合の同時コンシューマーのデフォルト数を指定します (JMS を介した要求/応答ではありません)。スレッドの動的なスケールアップ/ダウンを制御するには、maxMessagesPerTask オプションも参照してください。JMS を介して要求/応答を行う場合は、オプション replyToConcurrentConsumers を使用して、応答メッセージリスナーの同時コンシューマーの数を制御します。 | 1 | false | MEDIUM |
camel.source.endpoint.durableSubscriptionName | 永続トピックサブスクリプションを指定するための永続サブスクライバー名。clientId オプションも設定する必要があります。 | null | false | MEDIUM |
camel.source.endpoint.replyToDeliveryPersistent | 返信に対してデフォルトで永続的な配信を使用するかどうかを指定します。 | true | false | MEDIUM |
camel.source.endpoint.eagerLoadingOfProperties | メッセージが読み込まれるとすぐに JMS プロパティーとペイロードの熱心な読み込みを有効にします。これは、JMS プロパティーが必要ない場合があるため一般的に非効率的ですが、基盤となる JMS プロバイダーと JMS プロパティーの使用に関する問題を早期に発見できる場合があります。オプション eagerPoisonBody も参照してください。 | false | false | MEDIUM |
camel.source.endpoint.eagerPoisonBody | eagerLoadingOfProperties が有効であり、JMS メッセージペイロード (JMS 本文または JMS プロパティー) が有害 (読み取り/マッピングできない) である場合は、代わりにこのテキストをメッセージ本文として設定し、メッセージを処理できるようにします (有害の原因は、Exchange では例外としてすでに保存されています)。これは、eagerPoisonBody=false を設定することでオフにすることができます。オプション eagerLoadingOfProperties も参照してください。 | ${exception.message} による JMS メッセージへの影響 | false | MEDIUM |
camel.source.endpoint.exceptionHandler | コンシューマーによるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されないことに注意してください。デフォルトでは、コンシューマーは例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | null | false | MEDIUM |
camel.source.endpoint.exchangePattern | コンシューマーがエクスチェンジを作成する際に交換パターンを設定します。[InOnly]、[InOut]、[InOptionalOut] のいずれか。 | null | false | MEDIUM |
camel.source.endpoint.messageSelector | JMS メッセージセレクターの構文を設定します。 | null | false | MEDIUM |
camel.source.endpoint.replyToSameDestination Allowed | JMS コンシューマーが、コンシューマーが使用しているのと同じ宛先に応答メッセージを送信できるかどうか。これにより、同じメッセージを消費してそれ自体に送り返すことで、無限ループが回避されます。 | false | false | MEDIUM |
camel.source.endpoint.asyncStartListener | ルートの開始時に consumer メッセージリスナーを非同期で開始するかどうか。たとえば、JmsConsumer がリモート JMS ブローカーへの接続を取得できない場合は、再試行中やフェイルオーバー中にブロックされる可能性があります。これにより、ルートの開始時に Camel がブロックされます。このオプションを true に設定すると、ルートの起動を許可します。一方、JmsConsumer は非同期モードで専用のスレッドを使用して JMS ブローカーに接続します。このオプションを使用する場合は、接続を確立できない場合は例外が WARN レベルでログに記録され、コンシューマーはメッセージを受信できず、ルートを再起動して再試行できます。 | false | false | MEDIUM |
camel.source.endpoint.asyncStopListener | ルートを停止するときに、consumer メッセージリスナーを非同期的に停止するかどうか。 | false | false | MEDIUM |
camel.source.endpoint.destinationCreationStrategy | カスタム DestinationCreationStrategy を使用するには。 | null | false | MEDIUM |
camel.source.endpoint.exceptionListener | 基礎となる JMS 例外の通知を受ける JMS 例外リスナーを指定します。 | null | false | MEDIUM |
camel.source.endpoint.headerFilterStrategy | カスタムの HeaderFilterStrategy を使用して、Camel メッセージとの間でヘッダーをフィルタリングします。 | null | false | MEDIUM |
camel.source.endpoint.includeAllJMSXProperties | JMS から Camel Message へのマッピング時に JMSXxxx プロパティーをすべて含めるかどうか。これを true に設定すると、JMSXAppID や JMSXUserID などのプロパティーが含まれます。注記: カスタムの headerFilterStrategy を使用している場合、このオプションは適用されません。 | false | false | MEDIUM |
camel.source.endpoint.jmsKeyFormatStrategy | JMS 仕様に準拠できるように、JMS キーをエンコードおよびデコードするためのプラグ可能な戦略。Camel は、追加設定なしで、default と passthrough の 2 つの実装を提供します。デフォルトのストラテジーでは、ドットとハイフン(. および -)を安全にマーシャリングします。パススルー戦略では、キーはそのまま残ります。JMS ヘッダーキーに不正な文字が含まれているかどうかは問題にならない JMS ブローカーに使用できます。org.apache.camel.component.jms.JmsKeyFormatStrategy の独自の実装を提供し、# 表記を使用して参照できます。 | null | false | MEDIUM |
camel.source.endpoint.mapJmsMessage | Camel が受信した JMS メッセージを適切なペイロードタイプ (javax.jms.TextMessage を文字列など) に自動マップするかどうかを指定します。詳細については、以下のマッピングの仕組みに関するセクションを参照してください。 | true | false | MEDIUM |
camel.source.endpoint.messageCreatedStrategy | Camel が JMS メッセージを送信しているときに、Camel が javax.jms.Message オブジェクトの新しいインスタンスを作成するときに呼び出される、指定された MessageCreatedStrategy を使用します。 | null | false | MEDIUM |
camel.source.endpoint.recoveryInterval | リカバリーの試行の間隔を指定します。つまり、接続が更新されるタイミング(ミリ秒単位)を指定します。デフォルトは 5000 ミリ秒、つまり 5 秒です。 | 5000L | false | MEDIUM |
camel.source.endpoint.synchronous | 同期処理を厳密に使用するかどうかを設定します。 | false | false | MEDIUM |
camel.source.endpoint.transferException | 有効で、Request Reply メッセージング (InOut) を使用していて、Exchange がコンシューマー側で失敗した場合、原因となった例外が javax.jms.ObjectMessage として応答で返されます。クライアントが Camel の場合、返された Exception は再出力されます。これにより、Camel JMS をルーティングのブリッジとして使用できます。たとえば、永続的なキューを使用して堅牢なルーティングを有効にできます。transferExchange も有効にしている場合は、このオプションが優先されることに注意してください。キャッチされた例外はシリアライズ可能である必要があります。コンシューマー側の元の Exception は、プロデューサーに返されるときに org.apache.camel.RuntimeCamelException などの外部例外にラップできます。データは Java オブジェクトのシリアライゼーションを使用しており、受信側がクラスレベルでデータをデシリアライズできる必要があるため、これは注意して使用してください。 | false | false | MEDIUM |
camel.source.endpoint.transacted | トランザクションモードを使用するかどうかを指定します | false | false | MEDIUM |
camel.component.sjms.connectionFactory | 使用する接続ファクトリー。コンポーネントまたはエンドポイントで接続ファクトリーを設定する必要があります。 | null | false | MEDIUM |
camel.component.sjms.bridgeErrorHandler | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | false | MEDIUM |
camel.component.sjms.autowiredEnabled | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | false | MEDIUM |
camel.component.sjms.destinationCreationStrategy | カスタム DestinationCreationStrategy を使用するには。 | null | false | MEDIUM |
camel.component.sjms.jmsKeyFormatStrategy | JMS 仕様に準拠できるように、JMS キーをエンコードおよびデコードするためのプラグ可能な戦略。Camel はすぐに使用できる 1 つの実装を提供します: デフォルトです。デフォルトのストラテジーでは、ドットとハイフン(. および -)を安全にマーシャリングします。JMS ヘッダーキーに不正な文字が含まれているかどうかは問題にならない JMS ブローカーに使用できます。org.apache.camel.component.jms.JmsKeyFormatStrategy の独自の実装を提供し、# 表記を使用して参照できます。 | null | false | MEDIUM |
camel.component.sjms.messageCreatedStrategy | Camel が JMS メッセージを送信しているときに、Camel が javax.jms.Message オブジェクトの新しいインスタンスを作成するときに呼び出される、指定された MessageCreatedStrategy を使用します。 | null | false | MEDIUM |
camel.component.sjms.recoveryInterval | リカバリーの試行の間隔を指定します。つまり、接続が更新されるタイミング(ミリ秒単位)を指定します。デフォルトは 5000 ミリ秒、つまり 5 秒です。 | 5000L | false | MEDIUM |
camel.component.sjms.replyToOnTimeoutMaxConcurrent Consumers | JMS 経由の要求/応答を使用するときにタイムアウトが発生したときに、ルーティングを継続するための同時コンシューマーの最大数を指定します。 | 1 | false | MEDIUM |
camel.component.sjms.requestTimeoutCheckerInterval | JMS を介してリクエスト/リプライを行うときに、Camel がタイムアウトになった Exchange をチェックする頻度を設定します。デフォルトでは、Camel は 1 秒に 1 回確認します。ただし、タイムアウトが発生したときに迅速に対応する必要がある場合は、この間隔を短くして、より頻繁にチェックすることができます。タイムアウトは、オプション requestTimeout によって決定されます。 | 1000L | false | MEDIUM |
camel.component.sjms.headerFilterStrategy | カスタムの org.apache.camel.spi.HeaderFilterStrategy を使用して、Camel メッセージとの間でヘッダーをフィルターします。 | null | false | MEDIUM |
camel-sjms ソースコネクターには、すぐに使用できるコンバーターはありません。
camel-sjms ソースコネクターには、すぐに使える変換はありません。
camel-sjms ソースコネクターには、すぐに使用できる集約ストラテジーはありません。
5.13. MongoDB
5.13.1. camel-mongodb-kafka-connector sink configuration
コネクターの説明: MongoDB ドキュメントおよびコレクションに対して操作を実行します。
camel-mongodb-kafka-connector をシンクとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。
<dependency> <groupId>org.apache.camel.kafkaconnector</groupId> <artifactId>camel-mongodb-kafka-connector</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel Kafka connector version --> </dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-mongodb-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。
connector.class=org.apache.camel.kafkaconnector.mongodb.CamelMongodbSinkConnector
connector.class=org.apache.camel.kafkaconnector.mongodb.CamelMongodbSinkConnector
camel-mongodb シンクコネクターは、以下に示す 24 のオプションをサポートします。
名前 | 説明 | デフォルト | 必要性 | 優先順位 |
---|---|---|---|---|
camel.sink.path.connectionBean | データベースに接続するためにクライアントをルックアップするために使用される接続 Bean 参照を設定します。 | null | true | HIGH |
camel.sink.endpoint.collection | このエンドポイントにバインドする MongoDB コレクションの名前を設定します | null | false | MEDIUM |
camel.sink.endpoint.collectionIndex | コレクションのインデックスを設定します (JSON FORMAT : { field1 : order1、field2 : order2}) | null | false | MEDIUM |
camel.sink.endpoint.createCollection | コレクションが存在しない場合は、初期化中にコレクションを作成します。デフォルトは true です。 | true | false | MEDIUM |
camel.sink.endpoint.database | ターゲットに設定する MongoDB データベースの名前を設定します | null | false | MEDIUM |
camel.sink.endpoint.mongoConnection | データベースに接続するためのクライアントとして使用される接続 Bean を設定します。 | null | false | MEDIUM |
camel.sink.endpoint.operation | このエンドポイントが MongoDB に対して実行する操作を設定します。[findById] [findOneByQuery] [findAll] [findDistinct] [insert] [save] [update] [remove] [bulkWrite] [aggregate] [getDbStats] [getColStats] [count] [command] のいずれか | null | false | MEDIUM |
camel.sink.endpoint.outputType | プロデューサの出力を選択したタイプ (DocumentList Document または MongoIterable) に変換します。DocumentList または MongoIterable は、findAll および aggregate に適用されます。ドキュメントは、他のすべての操作に適用されます。One of: [DocumentList] [Document] [MongoIterable] | null | false | MEDIUM |
camel.sink.endpoint.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.sink.endpoint.cursorRegenerationDelay | MongoDB の Tailable カーソルは、新しいデータが到着するまでブロックされます。新しいデータが挿入されない場合、しばらくするとカーソルが自動的に解放され、MongoDB サーバーによって閉じられます。クライアントは、必要に応じてカーソルを再生成する必要があります。この値は、新しいカーソルのフェッチを試行するまでの待機時間と、試行が失敗した場合に次の試行が行われるまでの時間を指定します。デフォルト値は 1000ms です。 | 1000L | false | MEDIUM |
camel.sink.endpoint.dynamicity | このエンドポイントが受信 Exchange プロパティーからターゲットデータベースとコレクションを動的に解決しようとするかどうかを設定します。それ以外の場合は静的なエンドポイント URI で指定されたデータベースとコレクションを実行時にオーバーライドするために使用できます。パフォーマンスを向上させるために、デフォルトでは無効になっています。有効にすると、パフォーマンスへの影響は最小限に抑えられます。 | false | false | MEDIUM |
camel.sink.endpoint.readPreference | MongoDB クライアントが読み取り操作をレプリカセットのメンバーにルーティングする方法を設定します。使用可能な値は、PRIMARY、PRIMARY_PREFERRED、SECONDARY、SECONDARY_PREFERRED または NEAREST 次のいずれか [PRIMARY] [PRIMARY_PREFERRED] [SECONDARY] [SECONDARY_PREFERRED] [NEAREST] | PRIMARY | false | MEDIUM |
camel.sink.endpoint.writeConcern | スタンドアロンの mongod、レプリカセット、またはクラスターへの書き込み操作のために MongoDB から要求された確認応答のレベルで接続 Bean を設定します。可能な値は、ACKNOWLEDGED、W1、W2、W3、UNACKNOWLEDGED、JOURNALED、または MAJORITY です。次のいずれか: [ACKNOWLEDGED] [W1] [W2] [W3] [UNACKNOWLEDGED] [JOURNALED] [MAJORITY] | ACKNOWLEDGED | false | MEDIUM |
camel.sink.endpoint.writeResultAsHeader | 書き込み操作では、OUT メッセージのボディとして WriteResult を返す代わりに、IN メッセージを OUT に転送し、WriteResult をヘッダーとして添付するかどうかを決定します。 | false | false | MEDIUM |
camel.sink.endpoint.streamFilter | 変更ストリームコンシューマーのフィルター条件。 | null | false | MEDIUM |
camel.sink.endpoint.persistentId | 1 つのテールトラッキングコレクションで、複数のテーラブルコンシューマー用に多数のトラッカーをホストできます。それらを分離しておくために、各トラッカーには独自の固有の persistentId が必要です。 | null | false | MEDIUM |
camel.sink.endpoint.persistentTailTracking | 永続的な tail トラッキングを有効にします。これは、システムの再起動時に最後に消費されたメッセージを追跡するメカニズムです。次にシステムが起動すると、エンドポイントは最後にレコードを一気に読み込むのを停止した地点からカーソルを回復します。 | false | false | MEDIUM |
camel.sink.endpoint.tailTrackCollection | テールトラッキング情報が保持されるコレクション。指定しない場合、MongoDbTailTrackingConfig#DEFAULT_COLLECTION がデフォルトで使用されます。 | null | false | MEDIUM |
camel.sink.endpoint.tailTrackDb | テールトラッキングメカニズムが保持されるデータベースを示します。指定しない場合、現在のデータベースがデフォルトで選択されます。動的性は有効になっていても考慮されません。つまり、テールトラッキングデータベースは、エンドポイントの初期化を過ぎても変化しません。 | null | false | MEDIUM |
camel.sink.endpoint.tailTrackField | 最後に追跡された値が配置されるフィールド。指定しない場合、MongoDbTailTrackingConfig#DEFAULT_FIELD がデフォルトで使用されます。 | null | false | MEDIUM |
camel.sink.endpoint.tailTrackIncreasingField | 増加する性質の着信レコードの相関フィールドであり、生成されるたびに tail カーソルを配置するために使用されます。カーソルは次のタイプの tailTrackIncreasingField で (再) 作成されます:整数、日付、文字列などの型にすることができます。注: 現時点ではドット表記がサポートされていないため、フィールドはドキュメントの最上位にある必要があります。 | null | false | MEDIUM |
camel.component.mongodb.mongoConnection | 接続に使用される共有クライアント。コンポーネントから生成されたすべてのエンドポイントは、この接続クライアントを共有します。 | null | false | MEDIUM |
camel.component.mongodb.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.component.mongodb.autowiredEnabled | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | false | MEDIUM |
camel-mongodb シンクコネクターには、すぐに使えるコンバーターはありません。
camel-mongodb シンクコネクターには、すぐに使える変換はありません。
camel-mongodb シンクコネクターには、すぐに使用できる集約ストラテジーはありません。
5.13.2. camel-mongodb-kafka-connector ソース設定
コネクターの説明: MongoDB ドキュメントとコレクションに対して操作を実行します。
camel-mongodb-kafka-connector をソースとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。
<dependency> <groupId>org.apache.camel.kafkaconnector</groupId> <artifactId>camel-mongodb-kafka-connector</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel Kafka connector version --> </dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-mongodb-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
Kafka コネクションでこのソースコネクターを使用するには、以下の connector.class を設定する必要があります。
connector.class=org.apache.camel.kafkaconnector.mongodb.CamelMongodbSourceConnector
connector.class=org.apache.camel.kafkaconnector.mongodb.CamelMongodbSourceConnector
camel-mongodb ソースコネクターは、以下に示す 27 のオプションをサポートします。
名前 | 説明 | デフォルト | 必要性 | 優先順位 |
---|---|---|---|---|
camel.source.path.connectionBean | データベースに接続するためにクライアントをルックアップするために使用される接続 Bean 参照を設定します。 | null | true | HIGH |
camel.source.endpoint.collection | このエンドポイントにバインドする MongoDB コレクションの名前を設定します | null | false | MEDIUM |
camel.source.endpoint.collectionIndex | コレクションのインデックスを設定します (JSON FORMAT : { field1 : order1、field2 : order2}) | null | false | MEDIUM |
camel.source.endpoint.createCollection | コレクションが存在しない場合は、初期化中にコレクションを作成します。デフォルトは true です。 | true | false | MEDIUM |
camel.source.endpoint.database | ターゲットに設定する MongoDB データベースの名前を設定します | null | false | MEDIUM |
camel.source.endpoint.mongoConnection | データベースに接続するためのクライアントとして使用される接続 Bean を設定します。 | null | false | MEDIUM |
camel.source.endpoint.operation | このエンドポイントが MongoDB に対して実行する操作を設定します。[findById] [findOneByQuery] [findAll] [findDistinct] [insert] [save] [update] [remove] [bulkWrite] [aggregate] [getDbStats] [getColStats] [count] [command] のいずれか | null | false | MEDIUM |
camel.source.endpoint.outputType | プロデューサの出力を選択したタイプ (DocumentList Document または MongoIterable) に変換します。DocumentList または MongoIterable は、findAll および aggregate に適用されます。ドキュメントは、他のすべての操作に適用されます。One of: [DocumentList] [Document] [MongoIterable] | null | false | MEDIUM |
camel.source.endpoint.bridgeErrorHandler | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | false | MEDIUM |
camel.source.endpoint.consumerType | コンシューマータイプ。 | null | false | MEDIUM |
camel.source.endpoint.exceptionHandler | コンシューマーによるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されないことに注意してください。デフォルトでは、コンシューマーは例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | null | false | MEDIUM |
camel.source.endpoint.exchangePattern | コンシューマーがエクスチェンジを作成する際に交換パターンを設定します。[InOnly]、[InOut]、[InOptionalOut] のいずれか。 | null | false | MEDIUM |
camel.source.endpoint.cursorRegenerationDelay | MongoDB の Tailable カーソルは、新しいデータが到着するまでブロックされます。新しいデータが挿入されない場合、しばらくするとカーソルが自動的に解放され、MongoDB サーバーによって閉じられます。クライアントは、必要に応じてカーソルを再生成する必要があります。この値は、新しいカーソルのフェッチを試行するまでの待機時間と、試行が失敗した場合に次の試行が行われるまでの時間を指定します。デフォルト値は 1000ms です。 | 1000L | false | MEDIUM |
camel.source.endpoint.dynamicity | このエンドポイントが受信 Exchange プロパティーからターゲットデータベースとコレクションを動的に解決しようとするかどうかを設定します。それ以外の場合は静的なエンドポイント URI で指定されたデータベースとコレクションを実行時にオーバーライドするために使用できます。パフォーマンスを向上させるために、デフォルトでは無効になっています。有効にすると、パフォーマンスへの影響は最小限に抑えられます。 | false | false | MEDIUM |
camel.source.endpoint.readPreference | MongoDB クライアントが読み取り操作をレプリカセットのメンバーにルーティングする方法を設定します。使用可能な値は、PRIMARY、PRIMARY_PREFERRED、SECONDARY、SECONDARY_PREFERRED または NEAREST 次のいずれか [PRIMARY] [PRIMARY_PREFERRED] [SECONDARY] [SECONDARY_PREFERRED] [NEAREST] | PRIMARY | false | MEDIUM |
camel.source.endpoint.writeConcern | スタンドアロンの mongod、レプリカセット、またはクラスターへの書き込み操作のために MongoDB から要求された確認応答のレベルで接続 Bean を設定します。可能な値は、ACKNOWLEDGED、W1、W2、W3、UNACKNOWLEDGED、JOURNALED、または MAJORITY です。次のいずれか: [ACKNOWLEDGED] [W1] [W2] [W3] [UNACKNOWLEDGED] [JOURNALED] [MAJORITY] | ACKNOWLEDGED | false | MEDIUM |
camel.source.endpoint.writeResultAsHeader | 書き込み操作では、OUT メッセージのボディとして WriteResult を返す代わりに、IN メッセージを OUT に転送し、WriteResult をヘッダーとして添付するかどうかを決定します。 | false | false | MEDIUM |
camel.source.endpoint.streamFilter | 変更ストリームコンシューマーのフィルター条件。 | null | false | MEDIUM |
camel.source.endpoint.persistentId | 1 つのテールトラッキングコレクションで、複数のテーラブルコンシューマー用に多数のトラッカーをホストできます。それらを分離しておくために、各トラッカーには独自の固有の persistentId が必要です。 | null | false | MEDIUM |
camel.source.endpoint.persistentTailTracking | 永続的な tail トラッキングを有効にします。これは、システムの再起動時に最後に消費されたメッセージを追跡するメカニズムです。次にシステムが起動すると、エンドポイントは最後にレコードを一気に読み込むのを停止した地点からカーソルを回復します。 | false | false | MEDIUM |
camel.source.endpoint.tailTrackCollection | テールトラッキング情報が保持されるコレクション。指定しない場合、MongoDbTailTrackingConfig#DEFAULT_COLLECTION がデフォルトで使用されます。 | null | false | MEDIUM |
camel.source.endpoint.tailTrackDb | テールトラッキングメカニズムが保持されるデータベースを示します。指定しない場合、現在のデータベースがデフォルトで選択されます。動的性は有効になっていても考慮されません。つまり、テールトラッキングデータベースは、エンドポイントの初期化を過ぎても変化しません。 | null | false | MEDIUM |
camel.source.endpoint.tailTrackField | 最後に追跡された値が配置されるフィールド。指定しない場合、MongoDbTailTrackingConfig#DEFAULT_FIELD がデフォルトで使用されます。 | null | false | MEDIUM |
camel.source.endpoint.tailTrackIncreasingField | 増加する性質の着信レコードの相関フィールドであり、生成されるたびに tail カーソルを配置するために使用されます。カーソルは次のタイプの tailTrackIncreasingField で (再) 作成されます:整数、日付、文字列などの型にすることができます。注: 現時点ではドット表記がサポートされていないため、フィールドはドキュメントの最上位にある必要があります。 | null | false | MEDIUM |
camel.component.mongodb.mongoConnection | 接続に使用される共有クライアント。コンポーネントから生成されたすべてのエンドポイントは、この接続クライアントを共有します。 | null | false | MEDIUM |
camel.component.mongodb.bridgeErrorHandler | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | false | MEDIUM |
camel.component.mongodb.autowiredEnabled | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | false | MEDIUM |
camel-mongodb ソースコネクターには、すぐに使用できるコンバーターはありません。
camel-mongodb ソースコネクターには、すぐに使える変換はありません。
camel-mongodb ソースコネクターには、すぐに使用できる集約ストラテジーはありません。
5.14. RabbitMQ
5.14.1. camel-rabbitmq-kafka-connector シンク設定
コネクターの説明: RabbitMQ インスタンスからメッセージを送受信します。
camel-rabbitmq-kafka-connector をシンクとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。
<dependency> <groupId>org.apache.camel.kafkaconnector</groupId> <artifactId>camel-rabbitmq-kafka-connector</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel Kafka connector version --> </dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-rabbitmq-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。
connector.class=org.apache.camel.kafkaconnector.rabbitmq.CamelRabbitmqSinkConnector
connector.class=org.apache.camel.kafkaconnector.rabbitmq.CamelRabbitmqSinkConnector
camel-rabbitmq シンクコネクターは、以下に示す 100 のオプションをサポートします。
名前 | 説明 | デフォルト | 必要性 | 優先順位 |
---|---|---|---|---|
camel.sink.path.exchangeName | エクスチェンジ名は、生成されたメッセージの送信先のエクスチェンジを決定します。コンシューマーの場合、エクスチェンジ名によって、キューがバインドされるエクスチェンジが決まります。 | null | true | HIGH |
camel.sink.endpoint.addresses | このオプションが設定されている場合、camel-rabbitmq はオプションアドレスの設定に基づいて接続を作成しようとします。アドレスの値は、server1:12345、server2:12345 のような文字列です。 | null | false | MEDIUM |
camel.sink.endpoint.autoDelete | true の場合、エクスチェンジは使用されなくなった時点で削除されます | true | false | MEDIUM |
camel.sink.endpoint.automaticRecoveryEnabled | 接続の自動回復を有効にします (既存の接続が失敗した場合に自動回復を実行する接続の実装を使用します) | "true" | false | MEDIUM |
camel.sink.endpoint.connectionFactory | カスタム RabbitMQ 接続ファクトリーを使用するには。このオプションが設定されている場合、URI に設定されているすべての接続オプション (connectionTimeout、requestedChannelMax など) は使用されません。 | null | false | MEDIUM |
camel.sink.endpoint.deadLetterExchange | デッドレターエクスチェンジの名前 | null | false | MEDIUM |
camel.sink.endpoint.deadLetterExchangeType | デッドレターエクスチェンジのタイプ direct fanout headers topic のいずれか | "direct" | false | MEDIUM |
camel.sink.endpoint.deadLetterQueue | 配信不能キューの名前 | null | false | MEDIUM |
camel.sink.endpoint.deadLetterRoutingKey | デッドレターエクスチェンジのルーティングキー | null | false | MEDIUM |
camel.sink.endpoint.declare | オプションが true の場合、camel はエクスチェンジとキューの名前を宣言し、それらをバインドします。オプションが false の場合、camel はサーバー上でエクスチェンジとキューの名前を宣言しません。 | true | false | MEDIUM |
camel.sink.endpoint.durable | 永続的なエクスチェンジを宣言している場合 (エクスチェンジはサーバーの再起動後も存続します) | true | false | MEDIUM |
camel.sink.endpoint.exchangeType | ダイレクトやトピックなどのエクスチェンジタイプ。次のいずれか: 直接 ファンアウトヘッダートピック | "direct" | false | MEDIUM |
camel.sink.endpoint.exclusive | 排他キューは、現在の接続によってのみアクセスでき、その接続が閉じると削除されます。 | false | false | MEDIUM |
camel.sink.endpoint.hostname | 実行中の rabbitmq インスタンスまたはクラスターのホスト名。 | null | false | MEDIUM |
camel.sink.endpoint.passive | パッシブキューは、RabbitMQ ですでに使用可能なキューに依存します。 | false | false | MEDIUM |
camel.sink.endpoint.portNumber | 実行中の rabbitmq インスタンスまたはクラスターを持つホストのポート番号。デフォルト値は 5672 です。 | null | false | MEDIUM |
camel.sink.endpoint.queue | メッセージを受信するキュー | null | false | MEDIUM |
camel.sink.endpoint.routingKey | コンシューマーキューをエクスチェンジにバインドするときに使用するルーティングキー。プロデューサールーティングキーの場合は、ヘッダー rabbitmq.ROUTING_KEY を設定します。 | null | false | MEDIUM |
camel.sink.endpoint.skipDlqDeclare | true の場合、プロデューサーはデッドレターキューを宣言およびバインドしません。これは、DLQ rabbitmq コンシューマーもあり、Producer と Consumer の間の引数のクラッシュを避けたい場合に使用できます。DLQ が設定されている (deadLetterExchange オプションが設定されていない) 場合、このオプションは効果がありません。 | false | false | MEDIUM |
camel.sink.endpoint.skipExchangeDeclare | これは、交換ではなくキューを宣言する必要がある場合に使用できます。 | false | false | MEDIUM |
camel.sink.endpoint.skipQueueBind | true の場合、キューは宣言後にエクスチェンジにバインドされません | false | false | MEDIUM |
camel.sink.endpoint.skipQueueDeclare | true の場合、プロデューサーはキューを宣言およびバインドしません。これは、既存のルーティングキーを介してメッセージを送信するために使用できます。 | false | false | MEDIUM |
camel.sink.endpoint.vhost | チャネルの仮想ホスト | "/" | false | MEDIUM |
camel.sink.endpoint.additionalHeaders | 追加ヘッダーのマップ。これらのヘッダーは、allowCustomHeaders が true に設定されている場合にのみ設定されます | null | false | MEDIUM |
camel.sink.endpoint.additionalProperties | 追加プロパティーのマップ。これらは、com.rabbitmq.client.AMQP.BasicProperties で定義されている標準の RabbitMQ プロパティーです。マップキーは、org.apache.camel.component.rabbitmq.RabbitMQConstants から取得する必要があります。その他のキーは無視されます。 | null | false | MEDIUM |
camel.sink.endpoint.allowCustomHeaders | カスタム値をヘッダーに渡すことを許可する | false | false | MEDIUM |
camel.sink.endpoint.allowNullHeaders | null 値をヘッダーに渡すことを許可する | false | false | MEDIUM |
camel.sink.endpoint.bridgeEndpoint | bridgeEndpoint が true の場合、プロデューサーは rabbitmq.EXCHANGE_NAME と rabbitmq.ROUTING_KEY のメッセージヘッダーを無視します。 | false | false | MEDIUM |
camel.sink.endpoint.channelPoolMaxSize | プールで開かれているチャネルの最大数を取得する | 10 | false | MEDIUM |
camel.sink.endpoint.channelPoolMaxWait | プールからのチャネルを待機する最大ミリ秒数を設定します | 1000L | false | MEDIUM |
camel.sink.endpoint.guaranteedDeliveries | true の場合、メッセージを配信できず (basic.return)、メッセージが必須としてマークされている場合に例外が出力されます。この場合、PublisherAcknowledgement もアクティブ化されます。パブリッシャーの確認も参照してください - メッセージはいつ確認されますか。 | false | false | MEDIUM |
camel.sink.endpoint.immediate | このフラグは、メッセージをすぐにキューコンシューマーにルーティングできない場合の対応方法をサーバーに指示します。このフラグが設定されている場合、サーバーは Return メソッドで配信不能メッセージを返します。このフラグがゼロの場合、サーバーはメッセージをキューに入れますが、メッセージが消費されるという保証はありません。ヘッダーが rabbitmq.IMMEDIATE である場合、このオプションはオーバーライドされます。 | false | false | MEDIUM |
camel.sink.endpoint.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.sink.endpoint.mandatory | このフラグは、メッセージをキューにルーティングできない場合の対応方法をサーバーに指示します。このフラグが設定されている場合、サーバーは Return メソッドでルーティング不可能なメッセージを返します。このフラグがゼロの場合、サーバーはメッセージを通知せずにドロップします。ヘッダーが rabbitmq.MANDATORY である場合、このオプションはオーバーライドされます。 | false | false | MEDIUM |
camel.sink.endpoint.publisherAcknowledgements | true の場合、メッセージはパブリッシャーの確認をオンにしてパブリッシュされます。 | false | false | MEDIUM |
camel.sink.endpoint.publisherAcknowledgements Timeout | RabbitMQ サーバーからの basic.ack 応答を待機する時間 (ミリ秒) | null | false | MEDIUM |
camel.sink.endpoint.allowMessageBodySerialization | メッセージボディーの Java シリアル化を許可するかどうか。この値が true の場合、型コンバーターがメッセージボディーを処理できない場合、メッセージボディーは Java シリアル化を使用してプロデューサー側でシリアル化されます。コンシューマー側では、この値が true で、メッセージに CamelSerialize ヘッダーが含まれている場合、メッセージボディーをデシリアライズします。この値を true に設定すると、攻撃者がガジェットオブジェクトへのデシリアライズを試みて、RCE またはその他のセキュリティーの脆弱性が発生する可能性があるため、セキュリティーの脆弱性が生じる可能性があります。 | false | false | MEDIUM |
camel.sink.endpoint.args | さまざまな RabbitMQ の概念を設定するための引数を指定します。それぞれに異なる接頭辞が必要です: Exchange: arg.exchange。Queue: arg.queue.Binding: arg.binding.DLQ: arg.dlq.queue.DLQ binding: arg.dlq.binding.たとえば、メッセージ ttl 引数でキューを宣言するには: http://localhost:5672/exchange/queueargs=arg.queue.x-message-ttl=60000 | null | false | MEDIUM |
camel.sink.endpoint.clientProperties | 接続クライアントプロパティー (サーバーとのネゴシエーションで使用されるクライアント情報) | null | false | MEDIUM |
camel.sink.endpoint.connectionFactoryException Handler | ConnectionFactory のカスタム rabbitmq ExceptionHandler | null | false | MEDIUM |
camel.sink.endpoint.connectionTimeout | Connection timeout | 60000 | false | MEDIUM |
camel.sink.endpoint.networkRecoveryInterval | ミリ秒単位のネットワーク回復間隔 (ネットワーク障害からの回復時に使用される間隔) | "5000" | false | MEDIUM |
camel.sink.endpoint.requestedChannelMax | 接続要求されたチャネルの最大数 (提供されるチャネルの最大数) | 2047 | false | MEDIUM |
camel.sink.endpoint.requestedFrameMax | 接続要求フレーム最大 (提供されるフレームの最大サイズ) | 0 | false | MEDIUM |
camel.sink.endpoint.requestedHeartbeat | 接続要求されたハートビート (提供される秒単位のハートビート) | 60 | false | MEDIUM |
camel.sink.endpoint.requestTimeout | InOut Exchange パターン使用時の応答待ちタイムアウトを設定する (ミリ秒単位) 。 | 20000L | false | MEDIUM |
camel.sink.endpoint.requestTimeoutCheckerInterval | inOut エクスチェンジの requestTimeoutCheckerInterval を設定する | 1000L | false | MEDIUM |
camel.sink.endpoint.topologyRecoveryEnabled | 接続トポロジーの回復を有効にします (トポロジーの回復を実行する必要があります)。 | null | false | MEDIUM |
camel.sink.endpoint.transferException | true の場合、コンシューマー側で inOut Exchange が失敗し、原因となった例外がレスポンスで返されます。 | false | false | MEDIUM |
camel.sink.endpoint.password | 認証アクセス用のパスワード | "guest" | false | MEDIUM |
camel.sink.endpoint.sslProtocol | 接続時に SSL を有効にします。受け入れられる値は true、TLS および SSLv3 です。 | null | false | MEDIUM |
camel.sink.endpoint.trustManager | SSL トラストマネージャーを設定します。このオプションを有効にするには、SSL を有効にする必要があります。 | null | false | MEDIUM |
camel.sink.endpoint.username | 認証アクセスの場合のユーザー名 | "guest" | false | MEDIUM |
camel.component.rabbitmq.addresses | このオプションが設定されている場合、camel-rabbitmq はオプションアドレスの設定に基づいて接続を作成しようとします。アドレスの値は、server1:12345、server2:12345 のような文字列です。 | null | false | MEDIUM |
camel.component.rabbitmq.autoDelete | true の場合、エクスチェンジは使用されなくなった時点で削除されます | true | false | MEDIUM |
camel.component.rabbitmq.connectionFactory | カスタム RabbitMQ 接続ファクトリーを使用するには。このオプションが設定されている場合、URI に設定されているすべての接続オプション (connectionTimeout、requestedChannelMax など) は使用されません。 | null | false | MEDIUM |
camel.component.rabbitmq.deadLetterExchange | デッドレターエクスチェンジの名前 | null | false | MEDIUM |
camel.component.rabbitmq.deadLetterExchangeType | デッドレターエクスチェンジのタイプ direct fanout headers topic のいずれか | "direct" | false | MEDIUM |
camel.component.rabbitmq.deadLetterQueue | 配信不能キューの名前 | null | false | MEDIUM |
camel.component.rabbitmq.deadLetterRoutingKey | デッドレターエクスチェンジのルーティングキー | null | false | MEDIUM |
camel.component.rabbitmq.declare | オプションが true の場合、camel はエクスチェンジとキューの名前を宣言し、それらをバインドします。オプションが false の場合、camel はサーバー上でエクスチェンジとキューの名前を宣言しません。 | true | false | MEDIUM |
camel.component.rabbitmq.durable | 永続的なエクスチェンジを宣言している場合 (エクスチェンジはサーバーの再起動後も存続します) | true | false | MEDIUM |
camel.component.rabbitmq.exclusive | 排他キューは、現在の接続によってのみアクセスでき、その接続が閉じると削除されます。 | false | false | MEDIUM |
camel.component.rabbitmq.hostname | 実行中の RabbitMQ インスタンスまたはクラスターのホスト名。 | null | false | MEDIUM |
camel.component.rabbitmq.passive | パッシブキューは、RabbitMQ ですでに使用可能なキューに依存します。 | false | false | MEDIUM |
camel.component.rabbitmq.portNumber | 実行中の rabbitmq インスタンスまたはクラスターを持つホストのポート番号。 | 5672 | false | MEDIUM |
camel.component.rabbitmq.skipExchangeDeclare | これは、交換ではなくキューを宣言する必要がある場合に使用できます。 | false | false | MEDIUM |
camel.component.rabbitmq.skipQueueBind | true の場合、キューは宣言後にエクスチェンジにバインドされません | false | false | MEDIUM |
camel.component.rabbitmq.skipQueueDeclare | true の場合、プロデューサーはキューを宣言およびバインドしません。これは、既存のルーティングキーを介してメッセージを送信するために使用できます。 | false | false | MEDIUM |
camel.component.rabbitmq.vhost | チャネルの仮想ホスト | "/" | false | MEDIUM |
camel.component.rabbitmq.additionalHeaders | 追加ヘッダーのマップ。これらのヘッダーは、allowCustomHeaders が true に設定されている場合にのみ設定されます | null | false | MEDIUM |
camel.component.rabbitmq.additionalProperties | 追加プロパティーのマップ。これらは、com.rabbitmq.client.AMQP.BasicProperties で定義されている標準の RabbitMQ プロパティーです。マップキーは、org.apache.camel.component.rabbitmq.RabbitMQConstants から取得する必要があります。その他のキーは無視されます。メッセージにこれらのヘッダーがすでに含まれている場合は、これらのプロパティーよりも優先されます。 | null | false | MEDIUM |
camel.component.rabbitmq.allowNullHeaders | null 値をヘッダーに渡すことを許可する | false | false | MEDIUM |
camel.component.rabbitmq.channelPoolMaxSize | プールで開かれているチャネルの最大数を取得する | 10 | false | MEDIUM |
camel.component.rabbitmq.channelPoolMaxWait | プールからのチャネルを待機する最大ミリ秒数を設定します | 1000L | false | MEDIUM |
camel.component.rabbitmq.guaranteedDeliveries | true の場合、メッセージを配信できず (basic.return)、メッセージが必須としてマークされている場合に例外が出力されます。この場合、PublisherAcknowledgement もアクティブ化されます。パブリッシャーの確認も参照してください - メッセージはいつ確認されますか。 | false | false | MEDIUM |
camel.component.rabbitmq.immediate | このフラグは、メッセージをすぐにキューコンシューマーにルーティングできない場合の対応方法をサーバーに指示します。このフラグが設定されている場合、サーバーは Return メソッドで配信不能メッセージを返します。このフラグがゼロの場合、サーバーはメッセージをキューに入れますが、メッセージが消費されるという保証はありません。ヘッダーが rabbitmq.IMMEDIATE である場合、このオプションはオーバーライドされます。 | false | false | MEDIUM |
camel.component.rabbitmq.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.component.rabbitmq.mandatory | このフラグは、メッセージをキューにルーティングできない場合の対応方法をサーバーに指示します。このフラグが設定されている場合、サーバーは Return メソッドでルーティング不可能なメッセージを返します。このフラグがゼロの場合、サーバーはメッセージを通知せずにドロップします。ヘッダーが rabbitmq.MANDATORY である場合、このオプションはオーバーライドされます。 | false | false | MEDIUM |
camel.component.rabbitmq.publisherAcknowledgements | true の場合、メッセージはパブリッシャーの確認をオンにしてパブリッシュされます。 | false | false | MEDIUM |
camel.component.rabbitmq.publisherAcknowledgements Timeout | RabbitMQ サーバーからの basic.ack 応答を待機する時間 (ミリ秒) | null | false | MEDIUM |
camel.component.rabbitmq.args | さまざまな RabbitMQ の概念を設定するための引数を指定します。それぞれに異なる接頭辞が必要です: Exchange: arg.exchange。Queue: arg.queue.Binding: arg.binding.DLQ: arg.dlq.queue.DLQ Binding: arg.dlq.binding.たとえば、メッセージ ttl 引数でキューを宣言するには: http://localhost:5672/exchange/queueargs=arg.queue.x-message-ttl=60000 | null | false | MEDIUM |
camel.component.rabbitmq.autoDetectConnection Factory | レジストリーからの RabbitMQ 接続ファクトリーの検索を自動検出するかどうか。有効にすると、接続ファクトリーのインスタンスが 1 つだけ検出され、それが使用されます。明示的な接続ファクトリーは、優先されるコンポーネントまたはエンドポイントレベルで設定できます。 | true | false | MEDIUM |
camel.component.rabbitmq.automaticRecoveryEnabled | 接続の自動回復を有効にします (接続のシャットダウンがアプリケーションによって開始されない場合に自動回復を実行する接続の実装を使用します) | null | false | MEDIUM |
camel.component.rabbitmq.autowiredEnabled | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | false | MEDIUM |
camel.component.rabbitmq.clientProperties | 接続クライアントプロパティー (サーバーとのネゴシエーションで使用されるクライアント情報) | null | false | MEDIUM |
camel.component.rabbitmq.connectionFactory ExceptionHandler | ConnectionFactory のカスタム rabbitmq ExceptionHandler | null | false | MEDIUM |
camel.component.rabbitmq.connectionTimeout | Connection timeout | 60000 | false | MEDIUM |
camel.component.rabbitmq.networkRecoveryInterval | ミリ秒単位のネットワーク回復間隔 (ネットワーク障害からの回復時に使用される間隔) | "5000" | false | MEDIUM |
camel.component.rabbitmq.requestedChannelMax | 接続要求されたチャネルの最大数 (提供されるチャネルの最大数) | 2047 | false | MEDIUM |
camel.component.rabbitmq.requestedFrameMax | 接続要求フレーム最大 (提供されるフレームの最大サイズ) | 0 | false | MEDIUM |
camel.component.rabbitmq.requestedHeartbeat | 接続要求されたハートビート (提供される秒単位のハートビート) | 60 | false | MEDIUM |
camel.component.rabbitmq.requestTimeout | InOut Exchange パターン使用時の応答待ちタイムアウトを設定する (ミリ秒単位) 。 | 20000L | false | MEDIUM |
camel.component.rabbitmq.requestTimeoutChecker Interval | inOut エクスチェンジの requestTimeoutCheckerInterval を設定する | 1000L | false | MEDIUM |
camel.component.rabbitmq.topologyRecoveryEnabled | 接続トポロジーの回復を有効にします (トポロジーの回復を実行する必要があります)。 | null | false | MEDIUM |
camel.component.rabbitmq.transferException | true の場合、コンシューマー側で inOut Exchange が失敗し、原因となった例外がレスポンスで返されます。 | false | false | MEDIUM |
camel.component.rabbitmq.password | 認証アクセス用のパスワード | "guest" | false | MEDIUM |
camel.component.rabbitmq.sslProtocol | 接続時に SSL を有効にします。受け入れられる値は true、TLS および SSLv3 です。 | null | false | MEDIUM |
camel.component.rabbitmq.trustManager | SSL トラストマネージャーを設定します。このオプションを有効にするには、SSL を有効にする必要があります。 | null | false | MEDIUM |
camel.component.rabbitmq.username | 認証アクセスの場合のユーザー名 | "guest" | false | MEDIUM |
camel-rabbitmq シンクコネクターには、すぐに使用できるコンバーターはありません。
camel-rabbitmq シンクコネクターには、すぐに使える変換はありません。
camel-rabbitmq シンクコネクターには、すぐに使用できる集約ストラテジーはありません。
5.14.2. camel-rabbitmq-kafka-connector ソース設定
コネクターの説明: RabbitMQ インスタンスからメッセージを送受信します。
camel-rabbitmq-kafka-connector をソースとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。
<dependency> <groupId>org.apache.camel.kafkaconnector</groupId> <artifactId>camel-rabbitmq-kafka-connector</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel Kafka connector version --> </dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-rabbitmq-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
Kafka コネクションでこのソースコネクターを使用するには、以下の connector.class を設定する必要があります。
connector.class=org.apache.camel.kafkaconnector.rabbitmq.CamelRabbitmqSourceConnector
connector.class=org.apache.camel.kafkaconnector.rabbitmq.CamelRabbitmqSourceConnector
camel-rabbitmq ソースコネクターは、以下に示す 97 個のオプションをサポートします。
名前 | 説明 | デフォルト | 必要性 | 優先順位 |
---|---|---|---|---|
camel.source.path.exchangeName | エクスチェンジ名は、生成されたメッセージの送信先のエクスチェンジを決定します。コンシューマーの場合、エクスチェンジ名によって、キューがバインドされるエクスチェンジが決まります。 | null | true | HIGH |
camel.source.endpoint.addresses | このオプションが設定されている場合、camel-rabbitmq はオプションアドレスの設定に基づいて接続を作成しようとします。アドレスの値は、server1:12345、server2:12345 のような文字列です。 | null | false | MEDIUM |
camel.source.endpoint.autoDelete | true の場合、エクスチェンジは使用されなくなった時点で削除されます | true | false | MEDIUM |
camel.source.endpoint.automaticRecoveryEnabled | 接続の自動回復を有効にします (既存の接続が失敗した場合に自動回復を実行する接続の実装を使用します) | "true" | false | MEDIUM |
camel.source.endpoint.connectionFactory | カスタム RabbitMQ 接続ファクトリーを使用するには。このオプションが設定されている場合、URI に設定されているすべての接続オプション (connectionTimeout、requestedChannelMax など) は使用されません。 | null | false | MEDIUM |
camel.source.endpoint.deadLetterExchange | デッドレターエクスチェンジの名前 | null | false | MEDIUM |
camel.source.endpoint.deadLetterExchangeType | デッドレターエクスチェンジのタイプ direct fanout headers topic のいずれか | "direct" | false | MEDIUM |
camel.source.endpoint.deadLetterQueue | 配信不能キューの名前 | null | false | MEDIUM |
camel.source.endpoint.deadLetterRoutingKey | デッドレターエクスチェンジのルーティングキー | null | false | MEDIUM |
camel.source.endpoint.declare | オプションが true の場合、camel はエクスチェンジとキューの名前を宣言し、それらをバインドします。オプションが false の場合、camel はサーバー上でエクスチェンジとキューの名前を宣言しません。 | true | false | MEDIUM |
camel.source.endpoint.durable | 永続的なエクスチェンジを宣言している場合 (エクスチェンジはサーバーの再起動後も存続します) | true | false | MEDIUM |
camel.source.endpoint.exchangeType | ダイレクトやトピックなどのエクスチェンジタイプ。次のいずれか: 直接 ファンアウトヘッダートピック | "direct" | false | MEDIUM |
camel.source.endpoint.exclusive | 排他キューは、現在の接続によってのみアクセスでき、その接続が閉じると削除されます。 | false | false | MEDIUM |
camel.source.endpoint.hostname | 実行中の rabbitmq インスタンスまたはクラスターのホスト名。 | null | false | MEDIUM |
camel.source.endpoint.passive | パッシブキューは、RabbitMQ ですでに使用可能なキューに依存します。 | false | false | MEDIUM |
camel.source.endpoint.portNumber | 実行中の rabbitmq インスタンスまたはクラスターを持つホストのポート番号。デフォルト値は 5672 です。 | null | false | MEDIUM |
camel.source.endpoint.queue | メッセージを受信するキュー | null | false | MEDIUM |
camel.source.endpoint.routingKey | コンシューマーキューをエクスチェンジにバインドするときに使用するルーティングキー。プロデューサールーティングキーの場合は、ヘッダー rabbitmq.ROUTING_KEY を設定します。 | null | false | MEDIUM |
camel.source.endpoint.skipDlqDeclare | true の場合、プロデューサーはデッドレターキューを宣言およびバインドしません。これは、DLQ rabbitmq コンシューマーもあり、Producer と Consumer の間の引数のクラッシュを避けたい場合に使用できます。DLQ が設定されている (deadLetterExchange オプションが設定されていない) 場合、このオプションは効果がありません。 | false | false | MEDIUM |
camel.source.endpoint.skipExchangeDeclare | これは、交換ではなくキューを宣言する必要がある場合に使用できます。 | false | false | MEDIUM |
camel.source.endpoint.skipQueueBind | true の場合、キューは宣言後にエクスチェンジにバインドされません | false | false | MEDIUM |
camel.source.endpoint.skipQueueDeclare | true の場合、プロデューサーはキューを宣言およびバインドしません。これは、既存のルーティングキーを介してメッセージを送信するために使用できます。 | false | false | MEDIUM |
camel.source.endpoint.vhost | チャネルの仮想ホスト | "/" | false | MEDIUM |
camel.source.endpoint.autoAck | メッセージを自動確認する必要がある場合 | true | false | MEDIUM |
camel.source.endpoint.bridgeErrorHandler | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | false | MEDIUM |
camel.source.endpoint.concurrentConsumers | ブローカーから消費するときの同時コンシューマーの数。(たとえば、JMS コンポーネントの同じオプションと同様)。 | 1 | false | MEDIUM |
camel.source.endpoint.consumerTag | 消費操作を呼び出すときにコンテキストを確立するために、クライアントが生成したコンシューマータグを指定します | null | false | MEDIUM |
camel.source.endpoint.exclusiveConsumer | キューへの排他的アクセスを要求します (つまり、このコンシューマーのみがキューにアクセスできます)。これは、存続期間の長い共有キューに一時的に 1 つのコンシューマーのみがアクセスできるようにする場合に役立ちます。 | false | false | MEDIUM |
camel.source.endpoint.prefetchCount | サーバーが配信するメッセージの最大数。無制限の場合は 0。prefetchSize、prefetchCount、prefetchGlobal のオプションを同時に指定する必要があります。 | null | false | MEDIUM |
camel.source.endpoint.prefetchEnabled | RabbitMQConsumer 側でサービス品質を有効にします。prefetchSize、prefetchCount、prefetchGlobal のオプションを同時に指定する必要があります。 | false | false | MEDIUM |
camel.source.endpoint.prefetchGlobal | 各コンシューマーではなく、チャネル全体に設定を適用する場合 prefetchSize、prefetchCount、prefetchGlobal のオプションを同時に指定する必要があります | false | false | MEDIUM |
camel.source.endpoint.prefetchSize | サーバーが配信するコンテンツの最大量 (オクテットで測定)。無制限の場合は 0。prefetchSize、prefetchCount、prefetchGlobal のオプションを同時に指定する必要があります。 | null | false | MEDIUM |
camel.source.endpoint.reQueue | これは、メッセージの拒否を制御するためにコンシューマーによって使用されます。コンシューマーがエクスチェンジの処理を完了し、エクスチェンジが失敗した場合、コンシューマーは RabbitMQ ブローカーからのメッセージを拒否します。ヘッダー CamelRabbitmqRequeue が存在する場合、ヘッダーの値が使用されます。それ以外の場合は、このエンドポイント値がフォールバックとして使用されます。値が false の場合 (デフォルト)、メッセージは破棄/配信不能になります。値が true の場合、メッセージは再キューイングされます。 | false | false | MEDIUM |
camel.source.endpoint.exceptionHandler | コンシューマーによるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されないことに注意してください。デフォルトでは、コンシューマーは例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | null | false | MEDIUM |
camel.source.endpoint.exchangePattern | コンシューマーがエクスチェンジを作成する際に交換パターンを設定します。[InOnly]、[InOut]、[InOptionalOut] のいずれか。 | null | false | MEDIUM |
camel.source.endpoint.threadPoolSize | コンシューマーは、固定数のスレッドで Thread Pool Executor を使用します。この設定により、そのスレッド数を設定できます。 | 10 | false | MEDIUM |
camel.source.endpoint.allowMessageBody Serialization | メッセージボディーの Java シリアル化を許可するかどうか。この値が true の場合、型コンバーターがメッセージボディーを処理できない場合、メッセージボディーは Java シリアル化を使用してプロデューサー側でシリアル化されます。コンシューマー側では、この値が true で、メッセージに CamelSerialize ヘッダーが含まれている場合、メッセージボディーをデシリアライズします。この値を true に設定すると、攻撃者がガジェットオブジェクトへのデシリアライズを試みて、RCE またはその他のセキュリティーの脆弱性が発生する可能性があるため、セキュリティーの脆弱性が生じる可能性があります。 | false | false | MEDIUM |
camel.source.endpoint.args | さまざまな RabbitMQ の概念を設定するための引数を指定します。それぞれに異なる接頭辞が必要です: Exchange: arg.exchange。Queue: arg.queue.Binding: arg.binding.DLQ: arg.dlq.queue.DLQ binding: arg.dlq.binding.たとえば、メッセージ ttl 引数でキューを宣言するには: http://localhost:5672/exchange/queueargs=arg.queue.x-message-ttl=60000 | null | false | MEDIUM |
camel.source.endpoint.clientProperties | 接続クライアントプロパティー (サーバーとのネゴシエーションで使用されるクライアント情報) | null | false | MEDIUM |
camel.source.endpoint.connectionFactoryException Handler | ConnectionFactory のカスタム rabbitmq ExceptionHandler | null | false | MEDIUM |
camel.source.endpoint.connectionTimeout | Connection timeout | 60000 | false | MEDIUM |
camel.source.endpoint.networkRecoveryInterval | ミリ秒単位のネットワーク回復間隔 (ネットワーク障害からの回復時に使用される間隔) | "5000" | false | MEDIUM |
camel.source.endpoint.requestedChannelMax | 接続要求されたチャネルの最大数 (提供されるチャネルの最大数) | 2047 | false | MEDIUM |
camel.source.endpoint.requestedFrameMax | 接続要求フレーム最大 (提供されるフレームの最大サイズ) | 0 | false | MEDIUM |
camel.source.endpoint.requestedHeartbeat | 接続要求されたハートビート (提供される秒単位のハートビート) | 60 | false | MEDIUM |
camel.source.endpoint.requestTimeout | InOut Exchange パターン使用時の応答待ちタイムアウトを設定する (ミリ秒単位) 。 | 20000L | false | MEDIUM |
camel.source.endpoint.requestTimeoutChecker Interval | inOut エクスチェンジの requestTimeoutCheckerInterval を設定する | 1000L | false | MEDIUM |
camel.source.endpoint.topologyRecoveryEnabled | 接続トポロジーの回復を有効にします (トポロジーの回復を実行する必要があります)。 | null | false | MEDIUM |
camel.source.endpoint.transferException | true の場合、コンシューマー側で inOut Exchange が失敗し、原因となった例外がレスポンスで返されます。 | false | false | MEDIUM |
camel.source.endpoint.password | 認証アクセス用のパスワード | "guest" | false | MEDIUM |
camel.source.endpoint.sslProtocol | 接続時に SSL を有効にします。受け入れられる値は true、TLS および SSLv3 です。 | null | false | MEDIUM |
camel.source.endpoint.trustManager | SSL トラストマネージャーを設定します。このオプションを有効にするには、SSL を有効にする必要があります。 | null | false | MEDIUM |
camel.source.endpoint.username | 認証アクセスの場合のユーザー名 | "guest" | false | MEDIUM |
camel.component.rabbitmq.addresses | このオプションが設定されている場合、camel-rabbitmq はオプションアドレスの設定に基づいて接続を作成しようとします。アドレスの値は、server1:12345、server2:12345 のような文字列です。 | null | false | MEDIUM |
camel.component.rabbitmq.autoDelete | true の場合、エクスチェンジは使用されなくなった時点で削除されます | true | false | MEDIUM |
camel.component.rabbitmq.connectionFactory | カスタム RabbitMQ 接続ファクトリーを使用するには。このオプションが設定されている場合、URI に設定されているすべての接続オプション (connectionTimeout、requestedChannelMax など) は使用されません。 | null | false | MEDIUM |
camel.component.rabbitmq.deadLetterExchange | デッドレターエクスチェンジの名前 | null | false | MEDIUM |
camel.component.rabbitmq.deadLetterExchangeType | デッドレターエクスチェンジのタイプ direct fanout headers topic のいずれか | "direct" | false | MEDIUM |
camel.component.rabbitmq.deadLetterQueue | 配信不能キューの名前 | null | false | MEDIUM |
camel.component.rabbitmq.deadLetterRoutingKey | デッドレターエクスチェンジのルーティングキー | null | false | MEDIUM |
camel.component.rabbitmq.declare | オプションが true の場合、camel はエクスチェンジとキューの名前を宣言し、それらをバインドします。オプションが false の場合、camel はサーバー上でエクスチェンジとキューの名前を宣言しません。 | true | false | MEDIUM |
camel.component.rabbitmq.durable | 永続的なエクスチェンジを宣言している場合 (エクスチェンジはサーバーの再起動後も存続します) | true | false | MEDIUM |
camel.component.rabbitmq.exclusive | 排他キューは、現在の接続によってのみアクセスでき、その接続が閉じると削除されます。 | false | false | MEDIUM |
camel.component.rabbitmq.hostname | 実行中の RabbitMQ インスタンスまたはクラスターのホスト名。 | null | false | MEDIUM |
camel.component.rabbitmq.passive | パッシブキューは、RabbitMQ ですでに使用可能なキューに依存します。 | false | false | MEDIUM |
camel.component.rabbitmq.portNumber | 実行中の rabbitmq インスタンスまたはクラスターを持つホストのポート番号。 | 5672 | false | MEDIUM |
camel.component.rabbitmq.skipExchangeDeclare | これは、交換ではなくキューを宣言する必要がある場合に使用できます。 | false | false | MEDIUM |
camel.component.rabbitmq.skipQueueBind | true の場合、キューは宣言後にエクスチェンジにバインドされません | false | false | MEDIUM |
camel.component.rabbitmq.skipQueueDeclare | true の場合、プロデューサーはキューを宣言およびバインドしません。これは、既存のルーティングキーを介してメッセージを送信するために使用できます。 | false | false | MEDIUM |
camel.component.rabbitmq.vhost | チャネルの仮想ホスト | "/" | false | MEDIUM |
camel.component.rabbitmq.autoAck | メッセージを自動確認する必要がある場合 | true | false | MEDIUM |
camel.component.rabbitmq.bridgeErrorHandler | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | false | MEDIUM |
camel.component.rabbitmq.exclusiveConsumer | キューへの排他的アクセスを要求します (つまり、このコンシューマーのみがキューにアクセスできます)。これは、存続期間の長い共有キューに一時的に 1 つのコンシューマーのみがアクセスできるようにする場合に役立ちます。 | false | false | MEDIUM |
camel.component.rabbitmq.prefetchCount | サーバーが配信するメッセージの最大数。無制限の場合は 0。prefetchSize、prefetchCount、prefetchGlobal のオプションを同時に指定する必要があります。 | null | false | MEDIUM |
camel.component.rabbitmq.prefetchEnabled | RabbitMQConsumer 側でサービス品質を有効にします。prefetchSize、prefetchCount、prefetchGlobal のオプションを同時に指定する必要があります。 | false | false | MEDIUM |
camel.component.rabbitmq.prefetchGlobal | 各コンシューマーではなく、チャネル全体に設定を適用する場合 prefetchSize、prefetchCount、prefetchGlobal のオプションを同時に指定する必要があります | false | false | MEDIUM |
camel.component.rabbitmq.prefetchSize | サーバーが配信するコンテンツの最大量 (オクテットで測定)。無制限の場合は 0。prefetchSize、prefetchCount、prefetchGlobal のオプションを同時に指定する必要があります。 | null | false | MEDIUM |
camel.component.rabbitmq.threadPoolSize | コンシューマーは、固定数のスレッドで Thread Pool Executor を使用します。この設定により、そのスレッド数を設定できます。 | 10 | false | MEDIUM |
camel.component.rabbitmq.args | さまざまな RabbitMQ の概念を設定するための引数を指定します。それぞれに異なる接頭辞が必要です: Exchange: arg.exchange。Queue: arg.queue.Binding: arg.binding.DLQ: arg.dlq.queue.DLQ Binding: arg.dlq.binding.たとえば、メッセージ ttl 引数でキューを宣言するには: http://localhost:5672/exchange/queueargs=arg.queue.x-message-ttl=60000 | null | false | MEDIUM |
camel.component.rabbitmq.autoDetectConnection Factory | レジストリーからの RabbitMQ 接続ファクトリーの検索を自動検出するかどうか。有効にすると、接続ファクトリーのインスタンスが 1 つだけ検出され、それが使用されます。明示的な接続ファクトリーは、優先されるコンポーネントまたはエンドポイントレベルで設定できます。 | true | false | MEDIUM |
camel.component.rabbitmq.automaticRecoveryEnabled | 接続の自動回復を有効にします (接続のシャットダウンがアプリケーションによって開始されない場合に自動回復を実行する接続の実装を使用します) | null | false | MEDIUM |
camel.component.rabbitmq.autowiredEnabled | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | false | MEDIUM |
camel.component.rabbitmq.clientProperties | 接続クライアントプロパティー (サーバーとのネゴシエーションで使用されるクライアント情報) | null | false | MEDIUM |
camel.component.rabbitmq.connectionFactory ExceptionHandler | ConnectionFactory のカスタム rabbitmq ExceptionHandler | null | false | MEDIUM |
camel.component.rabbitmq.connectionTimeout | Connection timeout | 60000 | false | MEDIUM |
camel.component.rabbitmq.networkRecoveryInterval | ミリ秒単位のネットワーク回復間隔 (ネットワーク障害からの回復時に使用される間隔) | "5000" | false | MEDIUM |
camel.component.rabbitmq.requestedChannelMax | 接続要求されたチャネルの最大数 (提供されるチャネルの最大数) | 2047 | false | MEDIUM |
camel.component.rabbitmq.requestedFrameMax | 接続要求フレーム最大 (提供されるフレームの最大サイズ) | 0 | false | MEDIUM |
camel.component.rabbitmq.requestedHeartbeat | 接続要求されたハートビート (提供される秒単位のハートビート) | 60 | false | MEDIUM |
camel.component.rabbitmq.requestTimeout | InOut Exchange パターン使用時の応答待ちタイムアウトを設定する (ミリ秒単位) 。 | 20000L | false | MEDIUM |
camel.component.rabbitmq.requestTimeoutChecker Interval | inOut エクスチェンジの requestTimeoutCheckerInterval を設定する | 1000L | false | MEDIUM |
camel.component.rabbitmq.topologyRecoveryEnabled | 接続トポロジーの回復を有効にします (トポロジーの回復を実行する必要があります)。 | null | false | MEDIUM |
camel.component.rabbitmq.transferException | true の場合、コンシューマー側で inOut Exchange が失敗し、原因となった例外がレスポンスで返されます。 | false | false | MEDIUM |
camel.component.rabbitmq.password | 認証アクセス用のパスワード | "guest" | false | MEDIUM |
camel.component.rabbitmq.sslProtocol | 接続時に SSL を有効にします。受け入れられる値は true、TLS および SSLv3 です。 | null | false | MEDIUM |
camel.component.rabbitmq.trustManager | SSL トラストマネージャーを設定します。このオプションを有効にするには、SSL を有効にする必要があります。 | null | false | MEDIUM |
camel.component.rabbitmq.username | 認証アクセスの場合のユーザー名 | "guest" | false | MEDIUM |
camel-rabbitmq ソースコネクターには、すぐに使用できるコンバータはありません。
camel-rabbitmq ソースコネクターには、すぐに使える変換はありません。
camel-rabbitmq ソースコネクターには、すぐに使用できる集約ストラテジーはありません。
5.15. SQL
5.15.1. camel-sql-kafka-connector シンク設定
コネクターの説明: Spring JDBC を使用して SQL クエリーを実行します。
camel-sql-kafka-connector をシンクとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。
<dependency> <groupId>org.apache.camel.kafkaconnector</groupId> <artifactId>camel-sql-kafka-connector</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel Kafka connector version --> </dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-sql-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。
connector.class=org.apache.camel.kafkaconnector.sql.CamelSqlSinkConnector
connector.class=org.apache.camel.kafkaconnector.sql.CamelSqlSinkConnector
camel-sql シンクコネクターは、以下に示す 22 のオプションをサポートしています。
名前 | 説明 | デフォルト | 必要性 | 優先順位 |
---|---|---|---|---|
camel.sink.path.query | 実行する SQL クエリーを設定します。file: または classpath: を接頭辞として使用してクエリーを外部化し、ファイルの場所を指定できます。 | null | true | HIGH |
camel.sink.endpoint.allowNamedParameters | クエリーで名前付きパラメーターの使用を許可するかどうか。 | true | false | MEDIUM |
camel.sink.endpoint.dataSource | エンドポイントレベルでデータベースと通信するために使用する DataSource を設定します。 | null | false | MEDIUM |
camel.sink.endpoint.dataSourceRef | データベースとの通信に使用するために、レジストリーから参照する DataSource への参照を設定します。 | null | false | 低度の影響 |
camel.sink.endpoint.outputClass | outputType=SelectOne の場合、変換として使用する完全なパッケージとクラス名を指定します。 | null | false | MEDIUM |
camel.sink.endpoint.outputHeader | メッセージ本文ではなく、ヘッダーにクエリー結果を格納します。デフォルトでは、outputHeader == null で、クエリー結果はメッセージ本文に格納され、メッセージ本文の既存のコンテンツは破棄されます。outputHeader が設定されている場合、値はクエリー結果を格納するヘッダーの名前として使用され、元のメッセージ本文は保持されます。 | null | false | MEDIUM |
camel.sink.endpoint.outputType | 以下の方法で、コンシューマーまたはプロデューサの出力を Map のリストとして SelectList、または単一の Java オブジェクトとして SelectOne にします。a) クエリーが単一の列を持っている場合、その JDBC 列オブジェクトが返されます。(SELECT COUNT( ) FROM PROJECT のような場合、Long オブジェクトを返します。) b) クエリーが複数の列を持つ場合、その結果の Map を返します。c) 出力クラスが設定されている場合、列名に一致するすべてのセッターを呼び出して、クエリーの結果を Java Bean オブジェクトに変換します。クラスには、インスタンスを作成するためのデフォルトのコンストラクターがあると想定されます。d) クエリーの結果が複数の行になった場合、一意でない結果の例外が出力されます。StreamList は、Iterator を使用してクエリーの結果をストリーミングします。これは、ストリーミング方式で ResultSet を処理するために、ストリーミングモードでスプリッタ EIP とともに使用できます。One of: [SelectOne] [SelectList] [StreamList] | "SelectList" | false | MEDIUM |
camel.sink.endpoint.separator | パラメーター値がメッセージ本文 (本文が文字列型の場合) から取得されるときに使用するセパレーターで、# プレースホルダーに挿入されます。名前付きパラメーターを使用する場合は、代わりに Map タイプが使用されることに注意してください。デフォルト値は、コンマです。 | "," | false | MEDIUM |
camel.sink.endpoint.batch | バッチモードを有効または無効にします | false | false | MEDIUM |
camel.sink.endpoint.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.sink.endpoint.noop | 設定されている場合、SQL クエリーの結果を無視し、既存の IN メッセージを OUT メッセージとして使用して処理を続行します。 | false | false | MEDIUM |
camel.sink.endpoint.useMessageBodyForSql | メッセージ本文を SQL として使用し、次にパラメーターのヘッダーを使用するかどうか。このオプションを有効にすると、URI の SQL は使用されません。メッセージ本文のクエリーパラメーターは、# 記号ではなく疑問符で表されることに注意してください。 | false | false | MEDIUM |
camel.sink.endpoint.alwaysPopulateStatement | 有効にすると、org.apache.camel.component.sql.SqlPrepareStatementStrategy の populateStatement メソッドが常に呼び出されます。また、準備する必要のあるパラメーターがない場合も同様です。これが false の場合、populateStatement は、1 つ以上の予期されるパラメーターが設定される場合にのみ呼び出されます。たとえば、これにより、パラメーターのない SQL クエリーのメッセージ本文/ヘッダーの読み取りが回避されます。 | false | false | MEDIUM |
camel.sink.endpoint.parametersCount | 0 より大きい値を設定すると、Camel は JDBC メタデータ API を介してクエリーを実行する代わりに、このパラメーターのカウント値を使用して置き換えます。これは、JDBC ベンダーが正しいパラメーター数を返すことができず、ユーザーが代わりにオーバーライドできる場合に役立ちます。 | null | false | MEDIUM |
camel.sink.endpoint.placeholder | SQL クエリーで置換される文字を指定します。これは単純な String.replaceAll() 操作であり、SQL 解析が含まれていないことに注意してください (引用符で囲まれた文字列も変更されます)。 | "#" | false | MEDIUM |
camel.sink.endpoint.prepareStatementStrategy | プラグインでカスタム org.apache.camel.component.sql.SqlPrepareStatementStrategy を使用して、クエリーと準備済みステートメントの準備を制御できるようにします。 | null | false | MEDIUM |
camel.sink.endpoint.templateOptions | マップからのキー/値を使用して Spring JdbcTemplate を設定します | null | false | MEDIUM |
camel.sink.endpoint.usePlaceholder | SQL クエリーでプレースホルダーを使用し、すべてのプレースホルダー文字を符号に置き換えるかどうかを設定します。 | true | false | MEDIUM |
camel.component.sql.dataSource | データベースとの通信に使用する DataSource を設定します。 | null | false | MEDIUM |
camel.component.sql.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.component.sql.autowiredEnabled | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | false | MEDIUM |
camel.component.sql.usePlaceholder | SQL クエリーでプレースホルダーを使用し、すべてのプレースホルダー文字を符号に置き換えるかどうかを設定します。このオプションのデフォルトは true です | true | false | MEDIUM |
camel-sql シンクコネクターには、すぐに使えるコンバーターはありません。
camel-sql シンクコネクターには、すぐに使える変換はありません。
camel-sql シンクコネクターには、すぐに使用できる集計ストラテジーはありません。
5.15.2. camel-sql-kafka-connector ソース設定
コネクターの説明: Spring JDBC を使用して SQL クエリーを実行します。
camel-sql-kafka-connector をソースとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。
<dependency> <groupId>org.apache.camel.kafkaconnector</groupId> <artifactId>camel-sql-kafka-connector</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel Kafka connector version --> </dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-sql-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
Kafka コネクションでこのソースコネクターを使用するには、以下の connector.class を設定する必要があります。
connector.class=org.apache.camel.kafkaconnector.sql.CamelSqlSourceConnector
connector.class=org.apache.camel.kafkaconnector.sql.CamelSqlSourceConnector
camel-sql ソースコネクターは、以下に示す 47 のオプションをサポートしています。
名前 | 説明 | デフォルト | 必要性 | 優先順位 |
---|---|---|---|---|
camel.source.path.query | 実行する SQL クエリーを設定します。file: または classpath: を接頭辞として使用してクエリーを外部化し、ファイルの場所を指定できます。 | null | true | HIGH |
camel.source.endpoint.allowNamedParameters | クエリーで名前付きパラメーターの使用を許可するかどうか。 | true | false | MEDIUM |
camel.source.endpoint.dataSource | エンドポイントレベルでデータベースと通信するために使用する DataSource を設定します。 | null | false | MEDIUM |
camel.source.endpoint.dataSourceRef | データベースとの通信に使用するために、レジストリーから参照する DataSource への参照を設定します。 | null | false | 低度の影響 |
camel.source.endpoint.outputClass | outputType=SelectOne の場合、変換として使用する完全なパッケージとクラス名を指定します。 | null | false | MEDIUM |
camel.source.endpoint.outputHeader | メッセージ本文ではなく、ヘッダーにクエリー結果を格納します。デフォルトでは、outputHeader == null で、クエリー結果はメッセージ本文に格納され、メッセージ本文の既存のコンテンツは破棄されます。outputHeader が設定されている場合、値はクエリー結果を格納するヘッダーの名前として使用され、元のメッセージ本文は保持されます。 | null | false | MEDIUM |
camel.source.endpoint.outputType | 以下の方法で、コンシューマーまたはプロデューサの出力を Map のリストとして SelectList、または単一の Java オブジェクトとして SelectOne にします。a) クエリーが単一の列を持っている場合、その JDBC 列オブジェクトが返されます。(SELECT COUNT( ) FROM PROJECT のような場合、Long オブジェクトを返します。) b) クエリーが複数の列を持つ場合、その結果の Map を返します。c) 出力クラスが設定されている場合、列名に一致するすべてのセッターを呼び出して、クエリーの結果を Java Bean オブジェクトに変換します。クラスには、インスタンスを作成するためのデフォルトのコンストラクターがあると想定されます。d) クエリーの結果が複数の行になった場合、一意でない結果の例外が出力されます。StreamList は、Iterator を使用してクエリーの結果をストリーミングします。これは、ストリーミング方式で ResultSet を処理するために、ストリーミングモードでスプリッタ EIP とともに使用できます。One of: [SelectOne] [SelectList] [StreamList] | "SelectList" | false | MEDIUM |
camel.source.endpoint.separator | パラメーター値がメッセージ本文 (本文が文字列型の場合) から取得されるときに使用するセパレーターで、# プレースホルダーに挿入されます。名前付きパラメーターを使用する場合は、代わりに Map タイプが使用されることに注意してください。デフォルト値は、コンマです。 | "," | false | MEDIUM |
camel.source.endpoint.breakBatchOnConsumeFail | onConsume が失敗した場合にバッチを中断するかどうかを設定します。 | false | false | MEDIUM |
camel.source.endpoint.bridgeErrorHandler | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | false | MEDIUM |
camel.source.endpoint.expectedUpdateCount | onConsume を使用するときに検証する予想更新カウントを設定します。 | -1 | false | MEDIUM |
camel.source.endpoint.maxMessagesPerPoll | ポーリングするメッセージの最大数を設定します | null | false | MEDIUM |
camel.source.endpoint.onConsume | 各行を処理した後、エクスチェンジが正常に処理された場合、たとえば行を処理済みとしてマークするために、このクエリーを実行できます。クエリーにはパラメーターを含めることができます。 | null | false | MEDIUM |
camel.source.endpoint.onConsumeBatchComplete | バッチ全体を処理した後、このクエリーを実行して行などを一括更新できます。クエリーにパラメーターを含めることはできません。 | null | false | MEDIUM |
camel.source.endpoint.onConsumeFailed | 各行を処理した後、エクスチェンジが失敗した場合、たとえば、行を失敗としてマークするために、このクエリーを実行できます。クエリーにはパラメーターを含めることができます。 | null | false | MEDIUM |
camel.source.endpoint.routeEmptyResultSet | 空の結果セットを次のホップに送信できるようにするかどうかを設定します。デフォルトは false です。したがって、空の結果セットは除外されます。 | false | false | MEDIUM |
camel.source.endpoint.sendEmptyMessageWhenIdle | ポーリングコンシューマーがファイルをポーリングしなかった場合、このオプションを有効にして、代わりに空のメッセージ (ボディーなし) を送信できます。 | false | false | MEDIUM |
camel.source.endpoint.transacted | トランザクションを有効または無効にします。有効にした場合、エクスチェンジの処理が失敗した場合、コンシューマーはそれ以上のエクスチェンジの処理を中断して、ロールバックイーガーを引き起こします。 | false | false | MEDIUM |
camel.source.endpoint.useIterator | 結果セットをルートに配信する方法を設定します。リストまたは個々のオブジェクトとして配信を示します。デフォルトは真です。 | true | false | MEDIUM |
camel.source.endpoint.exceptionHandler | コンシューマーによるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されないことに注意してください。デフォルトでは、コンシューマーは例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | null | false | MEDIUM |
camel.source.endpoint.exchangePattern | コンシューマーがエクスチェンジを作成する際に交換パターンを設定します。[InOnly]、[InOut]、[InOptionalOut] のいずれか。 | null | false | MEDIUM |
camel.source.endpoint.pollStrategy | プラグ可能な org.apache.camel.PollingConsumerPollingStrategy を使用すると、エクスチェンジが作成され、Camel でルーティングされる前に、通常はポーリング操作中に発生するエラー処理を制御するカスタム実装が提供できます。 | null | false | MEDIUM |
camel.source.endpoint.processingStrategy | コンシューマーが行/バッチを処理したときに、カスタム org.apache.camel.component.sql.SqlProcessingStrategy を使用してクエリーを実行するプラグインを許可します。 | null | false | MEDIUM |
camel.source.endpoint.alwaysPopulateStatement | 有効にすると、org.apache.camel.component.sql.SqlPrepareStatementStrategy の populateStatement メソッドが常に呼び出されます。また、準備する必要のあるパラメーターがない場合も同様です。これが false の場合、populateStatement は、1 つ以上の予期されるパラメーターが設定される場合にのみ呼び出されます。たとえば、これにより、パラメーターのない SQL クエリーのメッセージ本文/ヘッダーの読み取りが回避されます。 | false | false | MEDIUM |
camel.source.endpoint.parametersCount | 0 より大きい値を設定すると、Camel は JDBC メタデータ API を介してクエリーを実行する代わりに、このパラメーターのカウント値を使用して置き換えます。これは、JDBC ベンダーが正しいパラメーター数を返すことができず、ユーザーが代わりにオーバーライドできる場合に役立ちます。 | null | false | MEDIUM |
camel.source.endpoint.placeholder | SQL クエリーで置換される文字を指定します。これは単純な String.replaceAll() 操作であり、SQL 解析が含まれていないことに注意してください (引用符で囲まれた文字列も変更されます)。 | "#" | false | MEDIUM |
camel.source.endpoint.prepareStatementStrategy | プラグインでカスタム org.apache.camel.component.sql.SqlPrepareStatementStrategy を使用して、クエリーと準備済みステートメントの準備を制御できるようにします。 | null | false | MEDIUM |
camel.source.endpoint.templateOptions | マップからのキー/値を使用して Spring JdbcTemplate を設定します | null | false | MEDIUM |
camel.source.endpoint.usePlaceholder | SQL クエリーでプレースホルダーを使用し、すべてのプレースホルダー文字を符号に置き換えるかどうかを設定します。 | true | false | MEDIUM |
camel.source.endpoint.backoffErrorThreshold | backoffMultipler が開始する前に発生する必要がある後続のエラーポーリング (エラーによって失敗した) の数。 | null | false | MEDIUM |
camel.source.endpoint.backoffIdleThreshold | backoffMultipler が開始する前に発生する必要がある後続のアイドルポーリングの数。 | null | false | MEDIUM |
camel.source.endpoint.backoffMultiplier | 後続のアイドル状態/エラーが連続して発生した場合に、スケジュールされたポーリングコンシューマーのバックオフを許可します。乗数は、実際に次の試行が行われる前にスキップされるポーリングの数です。このオプションが使用されている場合は、backoffIdleThreshold や backoffErrorThreshold も設定する必要があります。 | null | false | MEDIUM |
camel.source.endpoint.delay | 次のポーリングまでの時間 (ミリ秒単位)。 | 500L | false | MEDIUM |
camel.source.endpoint.greedy | greedy が有効で、以前の実行が 1 つ以上のメッセージをポーリングした場合、ScheduledPollConsumer は即座に再度実行されます。 | false | false | MEDIUM |
camel.source.endpoint.initialDelay | 最初のポーリングが開始されるまでの時間 (ミリ秒単位)。 | 1000L | false | MEDIUM |
camel.source.endpoint.repeatCount | 実行の最大数を指定します。そのため、これを 1 に設定するとスケジューラーは 1 度だけ実行されます。これを 5 に設定した場合、5 回だけ実行されます。0 または負の値を設定すると、無制限に実行されます。 | 0L | false | MEDIUM |
camel.source.endpoint.runLoggingLevel | コンシューマーはポーリング時に開始/完了のログ行を記録します。このオプションを使用すると、ログレベルを設定できます。[TRACE]、[DEBUG]、[INFO]、[WARN]、[ERROR]、[OFF] のいずれか。 | "TRACE" | false | MEDIUM |
camel.source.endpoint.scheduledExecutorService | コンシューマーに使用するカスタム/共有スレッドプールを設定できます。デフォルトでは、各コンシューマーに独自の単一スレッドのスレッドプールがあります。 | null | false | MEDIUM |
camel.source.endpoint.scheduler | camel-spring または camel-quartz コンポーネントから cron スケジューラーを使用します。スケジューラーにビルドされた値 spring または quartz を使用。 | "none" | false | MEDIUM |
camel.source.endpoint.schedulerProperties | カスタムスケジューラーまたは Quartz や Spring ベースのスケジューラーを使用する場合に、追加のプロパティーを設定します。 | null | false | MEDIUM |
camel.source.endpoint.startScheduler | スケジューラーを自動起動するかどうか。 | true | false | MEDIUM |
camel.source.endpoint.timeUnit | initialDelay および delay オプションの時間単位。[NANOSECONDS]、[MICROSECONDS]、[MILLISECONDS]、[SECONDS]、[MINUTES]、[HOURS]、[DAYS] のいずれか。 | "MILLISECONDS" | false | MEDIUM |
camel.source.endpoint.useFixedDelay | 固定遅延または固定レートを使用するかどうかを制御します。詳細は、JDK の ScheduledExecutorService を参照してください。 | true | false | MEDIUM |
camel.component.sql.dataSource | データベースとの通信に使用する DataSource を設定します。 | null | false | MEDIUM |
camel.component.sql.bridgeErrorHandler | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | false | MEDIUM |
camel.component.sql.autowiredEnabled | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | false | MEDIUM |
camel.component.sql.usePlaceholder | SQL クエリーでプレースホルダーを使用し、すべてのプレースホルダー文字を符号に置き換えるかどうかを設定します。このオプションのデフォルトは true です | true | false | MEDIUM |
camel-sql ソースコネクターには、すぐに使用できるコンバーターはありません。
camel-sql ソースコネクターには、すぐに使える変換はありません。
camel-sql ソースコネクターには、すぐに使用できる集計ストラテジーはありません。
5.16. SSH
5.16.1. camel-ssh-kafka-connector シンク設定
コネクターの説明: SSH を使用してリモートホストでコマンドを実行します。
camel-ssh-kafka-connector をシンクとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。
<dependency> <groupId>org.apache.camel.kafkaconnector</groupId> <artifactId>camel-ssh-kafka-connector</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel Kafka connector version --> </dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-ssh-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。
connector.class=org.apache.camel.kafkaconnector.ssh.CamelSshSinkConnector
connector.class=org.apache.camel.kafkaconnector.ssh.CamelSshSinkConnector
camel-ssh シンクコネクターは、以下に示す 30 のオプションをサポートします。
名前 | 説明 | デフォルト | 必要性 | 優先順位 |
---|---|---|---|---|
camel.sink.path.host | リモート SSH サーバーのホスト名を設定します。 | null | true | HIGH |
camel.sink.path.port | リモート SSH サーバーのポート番号を設定します。 | 22 | false | MEDIUM |
camel.sink.endpoint.failOnUnknownHost | 不明なホストへの接続が失敗するかどうかを指定します。この値は、プロパティー knownHosts が設定されている場合にのみチェックされます。 | false | false | MEDIUM |
camel.sink.endpoint.knownHostsResource | known_hosts ファイルのリソースパスを設定します | null | false | MEDIUM |
camel.sink.endpoint.timeout | リモート SSH サーバー接続を確立する際に待機するタイムアウトをミリ秒単位で設定します。デフォルトは 30000 ミリ秒 (ms) です。 | 30000L | false | MEDIUM |
camel.sink.endpoint.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.sink.endpoint.channelType | コマンド実行の一部として Channel に渡すチャネルタイプを設定します。デフォルトは exec です。 | exec | false | MEDIUM |
camel.sink.endpoint.shellPrompt | コマンド実行後にレスポンスが読み取られたときに shellPrompt がドロップされるように設定します | null | false | MEDIUM |
camel.sink.endpoint.sleepForShellPrompt | シェルプロンプトからのレスポンスの読み取りを待機するスリープ期間をミリ秒単位で設定します。デフォルトは 100 ミリ秒 (ms) です。 | 100L | false | MEDIUM |
camel.sink.endpoint.certResource | 認証に使用する証明書のリソースパスを設定します。ResourceHelperKeyPairProvider を使用してファイルベースの証明書を解決し、keyType 設定に依存します。 | null | false | MEDIUM |
camel.sink.endpoint.certResourcePassword | certResource が暗号化されたキーである場合、certResource の読み込みに使用するパスワードを設定します。 | null | false | MEDIUM |
camel.sink.endpoint.keyPairProvider | 証明書を使用してリモート SSH サーバーに接続するときに使用する KeyPairProvider 参照を設定します。 | null | false | MEDIUM |
camel.sink.endpoint.keyType | 認証の一部として KeyPairProvider に渡すキータイプを設定します。KeyPairProvider.loadKey(…) にこの値が渡されます。Camel 3.0.0/2.25.0 から、デフォルトで、Camel はロードされた最初の利用可能なキーペアを選択します。これより前は、ssh-rsa の KeyType がデフォルトで適用されていました。 | null | false | MEDIUM |
camel.sink.endpoint.password | リモート SSH サーバーへの接続に使用するパスワードを設定します。keyPairProvider を null に設定する必要があります。 | null | false | MEDIUM |
camel.sink.endpoint.username | リモート SSH サーバーへのログインに使用するユーザー名を設定します。 | null | false | MEDIUM |
camel.component.ssh.failOnUnknownHost | 不明なホストへの接続が失敗するかどうかを指定します。この値は、プロパティー knownHosts が設定されている場合にのみチェックされます。 | false | false | MEDIUM |
camel.component.ssh.knownHostsResource | known_hosts ファイルのリソースパスを設定します | null | false | MEDIUM |
camel.component.ssh.timeout | リモート SSH サーバー接続を確立する際に待機するタイムアウトをミリ秒単位で設定します。デフォルトは 30000 ミリ秒 (ms) です。 | 30000L | false | MEDIUM |
camel.component.ssh.lazyStartProducer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | false | MEDIUM |
camel.component.ssh.autowiredEnabled | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | false | MEDIUM |
camel.component.ssh.channelType | コマンド実行の一部として Channel に渡すチャネルタイプを設定します。デフォルトは exec です。 | exec | false | MEDIUM |
camel.component.ssh.configuration | コンポーネントの設定 | null | false | MEDIUM |
camel.component.ssh.shellPrompt | コマンド実行後にレスポンスが読み取られたときに shellPrompt がドロップされるように設定します | null | false | MEDIUM |
camel.component.ssh.sleepForShellPrompt | シェルプロンプトからのレスポンスの読み取りを待機するスリープ期間をミリ秒単位で設定します。デフォルトは 100 ミリ秒 (ms) です。 | 100L | false | MEDIUM |
camel.component.ssh.certResource | 認証に使用する証明書のリソースパスを設定します。ResourceHelperKeyPairProvider を使用してファイルベースの証明書を解決し、keyType 設定に依存します。 | null | false | MEDIUM |
camel.component.ssh.certResourcePassword | certResource が暗号化されたキーである場合、certResource の読み込みに使用するパスワードを設定します。 | null | false | MEDIUM |
camel.component.ssh.keyPairProvider | 証明書を使用してリモート SSH サーバーに接続するときに使用する KeyPairProvider 参照を設定します。 | null | false | MEDIUM |
camel.component.ssh.keyType | 認証の一部として KeyPairProvider に渡すキータイプを設定します。KeyPairProvider.loadKey(…) にこの値が渡されます。Camel 3.0.0/2.25.0 から、デフォルトで、Camel はロードされた最初の利用可能なキーペアを選択します。これより前は、ssh-rsa の KeyType がデフォルトで適用されていました。 | null | false | MEDIUM |
camel.component.ssh.password | リモート SSH サーバーへの接続に使用するパスワードを設定します。keyPairProvider を null に設定する必要があります。 | null | false | MEDIUM |
camel.component.ssh.username | リモート SSH サーバーへのログインに使用するユーザー名を設定します。 | null | false | MEDIUM |
camel-ssh シンクコネクターには、すぐに使用できるコンバータはありません。
camel-ssh シンクコネクターは、以下に示すそのまま使える transforms を 0 個サポートします。
org.apache.camel.kafkaconnector.ssh.transformers.SshTransforms
org.apache.camel.kafkaconnector.ssh.transformers.SshTransforms
camel-ssh シンクコネクターには、すぐに使用できる集約ストラテジーはありません。
5.16.2. camel-ssh-kafka-connector ソース設定
コネクターの説明: SSH を使用してリモートホストでコマンドを実行します。
camel-ssh-kafka-connector をソースとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。
<dependency> <groupId>org.apache.camel.kafkaconnector</groupId> <artifactId>camel-ssh-kafka-connector</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel Kafka connector version --> </dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-ssh-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
Kafka コネクションでこのソースコネクターを使用するには、以下の connector.class を設定する必要があります。
connector.class=org.apache.camel.kafkaconnector.ssh.CamelSshSourceConnector
connector.class=org.apache.camel.kafkaconnector.ssh.CamelSshSourceConnector
camel-ssh ソースコネクターは、以下に示す 50 のオプションをサポートしています。
名前 | 説明 | デフォルト | 必要性 | 優先順位 |
---|---|---|---|---|
camel.source.path.host | リモート SSH サーバーのホスト名を設定します。 | null | true | HIGH |
camel.source.path.port | リモート SSH サーバーのポート番号を設定します。 | 22 | false | MEDIUM |
camel.source.endpoint.failOnUnknownHost | 不明なホストへの接続が失敗するかどうかを指定します。この値は、プロパティー knownHosts が設定されている場合にのみチェックされます。 | false | false | MEDIUM |
camel.source.endpoint.knownHostsResource | known_hosts ファイルのリソースパスを設定します | null | false | MEDIUM |
camel.source.endpoint.timeout | リモート SSH サーバー接続を確立する際に待機するタイムアウトをミリ秒単位で設定します。デフォルトは 30000 ミリ秒 (ms) です。 | 30000L | false | MEDIUM |
camel.source.endpoint.bridgeErrorHandler | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | false | MEDIUM |
camel.source.endpoint.pollCommand | 各ポーリングサイクル中にリモート SSH サーバーに送信するコマンド文字列を設定します。コンシューマーとして使用されている camel-ssh コンポーネント、つまり from(ssh://…) でのみ機能します。コマンドの最後に改行が必要な場合がありますが、これは URL エンコードされた %0A でなければなりません。 | null | false | MEDIUM |
camel.source.endpoint.sendEmptyMessageWhenIdle | ポーリングコンシューマーがファイルをポーリングしなかった場合、このオプションを有効にして、代わりに空のメッセージ (ボディーなし) を送信できます。 | false | false | MEDIUM |
camel.source.endpoint.exceptionHandler | コンシューマーによるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されないことに注意してください。デフォルトでは、コンシューマーは例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | null | false | MEDIUM |
camel.source.endpoint.exchangePattern | コンシューマーがエクスチェンジを作成する際に交換パターンを設定します。[InOnly]、[InOut]、[InOptionalOut] のいずれか。 | null | false | MEDIUM |
camel.source.endpoint.pollStrategy | プラグ可能な org.apache.camel.PollingConsumerPollingStrategy を使用すると、エクスチェンジが作成され、Camel でルーティングされる前に、通常はポーリング操作中に発生するエラー処理を制御するカスタム実装が提供できます。 | null | false | MEDIUM |
camel.source.endpoint.channelType | コマンド実行の一部として Channel に渡すチャネルタイプを設定します。デフォルトは exec です。 | exec | false | MEDIUM |
camel.source.endpoint.shellPrompt | コマンド実行後にレスポンスが読み取られたときに shellPrompt がドロップされるように設定します | null | false | MEDIUM |
camel.source.endpoint.sleepForShellPrompt | シェルプロンプトからのレスポンスの読み取りを待機するスリープ期間をミリ秒単位で設定します。デフォルトは 100 ミリ秒 (ms) です。 | 100L | false | MEDIUM |
camel.source.endpoint.backoffErrorThreshold | backoffMultipler が開始する前に発生する必要がある後続のエラーポーリング (エラーによって失敗した) の数。 | null | false | MEDIUM |
camel.source.endpoint.backoffIdleThreshold | backoffMultipler が開始する前に発生する必要がある後続のアイドルポーリングの数。 | null | false | MEDIUM |
camel.source.endpoint.backoffMultiplier | 後続のアイドル状態/エラーが連続して発生した場合に、スケジュールされたポーリングコンシューマーのバックオフを許可します。乗数は、実際に次の試行が行われる前にスキップされるポーリングの数です。このオプションが使用されている場合は、backoffIdleThreshold や backoffErrorThreshold も設定する必要があります。 | null | false | MEDIUM |
camel.source.endpoint.delay | 次のポーリングまでの時間 (ミリ秒単位)。 | 500L | false | MEDIUM |
camel.source.endpoint.greedy | greedy が有効で、以前の実行が 1 つ以上のメッセージをポーリングした場合、ScheduledPollConsumer は即座に再度実行されます。 | false | false | MEDIUM |
camel.source.endpoint.initialDelay | 最初のポーリングが開始されるまでの時間 (ミリ秒単位)。 | 1000L | false | MEDIUM |
camel.source.endpoint.repeatCount | 実行の最大数を指定します。そのため、これを 1 に設定するとスケジューラーは 1 度だけ実行されます。これを 5 に設定した場合、5 回だけ実行されます。0 または負の値を設定すると、無制限に実行されます。 | 0L | false | MEDIUM |
camel.source.endpoint.runLoggingLevel | コンシューマーはポーリング時に開始/完了のログ行を記録します。このオプションを使用すると、ログレベルを設定できます。[TRACE]、[DEBUG]、[INFO]、[WARN]、[ERROR]、[OFF] のいずれか。 | "TRACE" | false | MEDIUM |
camel.source.endpoint.scheduledExecutorService | コンシューマーに使用するカスタム/共有スレッドプールを設定できます。デフォルトでは、各コンシューマーに独自の単一スレッドのスレッドプールがあります。 | null | false | MEDIUM |
camel.source.endpoint.scheduler | camel-spring または camel-quartz コンポーネントから cron スケジューラーを使用します。スケジューラーにビルドされた値 spring または quartz を使用。 | "none" | false | MEDIUM |
camel.source.endpoint.schedulerProperties | カスタムスケジューラーまたは Quartz や Spring ベースのスケジューラーを使用する場合に、追加のプロパティーを設定します。 | null | false | MEDIUM |
camel.source.endpoint.startScheduler | スケジューラーを自動起動するかどうか。 | true | false | MEDIUM |
camel.source.endpoint.timeUnit | initialDelay および delay オプションの時間単位。[NANOSECONDS]、[MICROSECONDS]、[MILLISECONDS]、[SECONDS]、[MINUTES]、[HOURS]、[DAYS] のいずれか。 | "MILLISECONDS" | false | MEDIUM |
camel.source.endpoint.useFixedDelay | 固定遅延または固定レートを使用するかどうかを制御します。詳細は、JDK の ScheduledExecutorService を参照してください。 | true | false | MEDIUM |
camel.source.endpoint.certResource | 認証に使用する証明書のリソースパスを設定します。ResourceHelperKeyPairProvider を使用してファイルベースの証明書を解決し、keyType 設定に依存します。 | null | false | MEDIUM |
camel.source.endpoint.certResourcePassword | certResource が暗号化されたキーである場合、certResource の読み込みに使用するパスワードを設定します。 | null | false | MEDIUM |
camel.source.endpoint.keyPairProvider | 証明書を使用してリモート SSH サーバーに接続するときに使用する KeyPairProvider 参照を設定します。 | null | false | MEDIUM |
camel.source.endpoint.keyType | 認証の一部として KeyPairProvider に渡すキータイプを設定します。KeyPairProvider.loadKey(…) にこの値が渡されます。Camel 3.0.0/2.25.0 から、デフォルトで、Camel はロードされた最初の利用可能なキーペアを選択します。これより前は、ssh-rsa の KeyType がデフォルトで適用されていました。 | null | false | MEDIUM |
camel.source.endpoint.password | リモート SSH サーバーへの接続に使用するパスワードを設定します。keyPairProvider を null に設定する必要があります。 | null | false | MEDIUM |
camel.source.endpoint.username | リモート SSH サーバーへのログインに使用するユーザー名を設定します。 | null | false | MEDIUM |
camel.component.ssh.failOnUnknownHost | 不明なホストへの接続が失敗するかどうかを指定します。この値は、プロパティー knownHosts が設定されている場合にのみチェックされます。 | false | false | MEDIUM |
camel.component.ssh.knownHostsResource | known_hosts ファイルのリソースパスを設定します | null | false | MEDIUM |
camel.component.ssh.timeout | リモート SSH サーバー接続を確立する際に待機するタイムアウトをミリ秒単位で設定します。デフォルトは 30000 ミリ秒 (ms) です。 | 30000L | false | MEDIUM |
camel.component.ssh.bridgeErrorHandler | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | false | MEDIUM |
camel.component.ssh.pollCommand | 各ポーリングサイクル中にリモート SSH サーバーに送信するコマンド文字列を設定します。コンシューマーとして使用されている camel-ssh コンポーネント、つまり from(ssh://…) でのみ機能します。コマンドの最後に改行が必要な場合がありますが、これは URL エンコードされた %0A でなければなりません。 | null | false | MEDIUM |
camel.component.ssh.autowiredEnabled | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | false | MEDIUM |
camel.component.ssh.channelType | コマンド実行の一部として Channel に渡すチャネルタイプを設定します。デフォルトは exec です。 | exec | false | MEDIUM |
camel.component.ssh.configuration | コンポーネントの設定 | null | false | MEDIUM |
camel.component.ssh.shellPrompt | コマンド実行後にレスポンスが読み取られたときに shellPrompt がドロップされるように設定します | null | false | MEDIUM |
camel.component.ssh.sleepForShellPrompt | シェルプロンプトからのレスポンスの読み取りを待機するスリープ期間をミリ秒単位で設定します。デフォルトは 100 ミリ秒 (ms) です。 | 100L | false | MEDIUM |
camel.component.ssh.certResource | 認証に使用する証明書のリソースパスを設定します。ResourceHelperKeyPairProvider を使用してファイルベースの証明書を解決し、keyType 設定に依存します。 | null | false | MEDIUM |
camel.component.ssh.certResourcePassword | certResource が暗号化されたキーである場合、certResource の読み込みに使用するパスワードを設定します。 | null | false | MEDIUM |
camel.component.ssh.keyPairProvider | 証明書を使用してリモート SSH サーバーに接続するときに使用する KeyPairProvider 参照を設定します。 | null | false | MEDIUM |
camel.component.ssh.keyType | 認証の一部として KeyPairProvider に渡すキータイプを設定します。KeyPairProvider.loadKey(…) にこの値が渡されます。Camel 3.0.0/2.25.0 から、デフォルトで、Camel はロードされた最初の利用可能なキーペアを選択します。これより前は、ssh-rsa の KeyType がデフォルトで適用されていました。 | null | false | MEDIUM |
camel.component.ssh.password | リモート SSH サーバーへの接続に使用するパスワードを設定します。keyPairProvider を null に設定する必要があります。 | null | false | MEDIUM |
camel.component.ssh.username | リモート SSH サーバーへのログインに使用するユーザー名を設定します。 | null | false | MEDIUM |
camel-ssh ソースコネクターには、すぐに使用できるコンバーターはありません。
camel-ssh ソースコネクターは、以下に示すそのまま使える transforms を 0 個サポートします。
org.apache.camel.kafkaconnector.ssh.transformers.SshTransforms
org.apache.camel.kafkaconnector.ssh.transformers.SshTransforms
camel-ssh ソースコネクターには、すぐに使用できる集約ストラテジーはありません。
5.17. Syslog
5.17.1. camel-syslog-kafka-connector シンク設定
camel-syslog-kafka-connector をシンクとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。
<dependency> <groupId>org.apache.camel.kafkaconnector</groupId> <artifactId>camel-syslog-kafka-connector</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel Kafka connector version --> </dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-syslog-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
camel-syslog シンクコネクターのサポートは camel-netty シンクコネクターに基づいており、そのすべてのオプションをサポートしています。ただし、すでに事前設定されており、次のプロパティーを提供するのに十分なはずです。
名前 | 説明 | デフォルト | 優先順位 |
---|---|---|---|
camel.sink.path.protocol | tcp または udp を使用するプロトコル。tcp udp のいずれか。 | null | HIGH |
camel.sink.path.host | ホスト名。コンシューマーの場合、ホスト名は localhost または 0.0.0.0 です。プロデューサーの場合、ホスト名は接続先のリモートホストです。 | null | HIGH |
camel.sink.path.port | ホストのポート番号。 | null | HIGH |
5.17.2. camel-syslog-kafka-connector ソース設定
camel-syslog-kafka-connector をソースとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。
<dependency> <groupId>org.apache.camel.kafkaconnector</groupId> <artifactId>camel-syslog-kafka-connector</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel Kafka connector version --> </dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-syslog-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
camel-syslog ソースコネクターのサポートは camel-netty ソースコネクターに基づいており、そのすべてのオプションをサポートしています。ただし、すでに事前設定されており、次のプロパティーを提供するのに十分なはずです。
名前 | 説明 | デフォルト | 優先順位 |
---|---|---|---|
camel.source.path.protocol | tcp または udp を使用するプロトコル。tcp udp のいずれか。 | null | HIGH |
camel.source.path.host | ホスト名。コンシューマーの場合、ホスト名は localhost または 0.0.0.0 です。プロデューサーの場合、ホスト名は接続先のリモートホストです。 | null | HIGH |
camel.source.path.port | ホストのポート番号。 | null | HIGH |
5.18. Timer
5.18.1. camel-timer-kafka-connector ソース設定
コネクターの説明: java.util.Timer を使用して、指定された間隔でメッセージを生成します。
camel-timer-kafka-connector をソースとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。
<dependency> <groupId>org.apache.camel.kafkaconnector</groupId> <artifactId>camel-timer-kafka-connector</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel Kafka connector version --> </dependency>
<dependency>
<groupId>org.apache.camel.kafkaconnector</groupId>
<artifactId>camel-timer-kafka-connector</artifactId>
<version>x.x.x</version>
<!-- use the same version as your Camel Kafka connector version -->
</dependency>
Kafka コネクションでこのソースコネクターを使用するには、以下の connector.class を設定する必要があります。
connector.class=org.apache.camel.kafkaconnector.timer.CamelTimerSourceConnector
connector.class=org.apache.camel.kafkaconnector.timer.CamelTimerSourceConnector
camel-timer ソースコネクターは、以下に示す 16 のオプションをサポートします。
名前 | 説明 | デフォルト | 必要性 | 優先順位 |
---|---|---|---|---|
camel.source.path.timerName | タイマーの名前 | null | true | HIGH |
camel.source.endpoint.bridgeErrorHandler | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | false | MEDIUM |
camel.source.endpoint.delay | 最初のイベントがトリガーされるまでの遅延。 | 1000L | false | MEDIUM |
camel.source.endpoint.fixedRate | イベントは、指定された期間で区切られたほぼ一定の間隔で発生します。 | false | false | MEDIUM |
camel.source.endpoint.includeMetadata | 起動時間、タイマー名、タイマーカウントなどのメタデータを交換に含めるかどうか。この情報はデフォルトで含まれています。 | true | false | MEDIUM |
camel.source.endpoint.period | 0 より大きい場合、周期ごとに定期的なイベントを生成します。 | 1000L | false | MEDIUM |
camel.source.endpoint.repeatCount | 実行の最大数を指定します。したがって、1 に設定すると、タイマーは 1 回だけ起動します。これを 5 に設定した場合、5 回だけ実行されます。0 または負の値を設定すると、無制限に実行されます。 | 0L | false | MEDIUM |
camel.source.endpoint.exceptionHandler | コンシューマーによるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されないことに注意してください。デフォルトでは、コンシューマーは例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | null | false | MEDIUM |
camel.source.endpoint.exchangePattern | コンシューマーがエクスチェンジを作成する際に交換パターンを設定します。[InOnly]、[InOut]、[InOptionalOut] のいずれか。 | null | false | MEDIUM |
camel.source.endpoint.daemon | タイマーエンドポイントに関連付けられたスレッドがデーモンとして実行されるかどうかを指定します。デフォルト値は true です。 | true | false | MEDIUM |
camel.source.endpoint.pattern | URI 構文を使用して時間オプションを設定するために使用するカスタムの日付パターンを指定できます。 | null | false | MEDIUM |
camel.source.endpoint.synchronous | 同期処理を厳密に使用するかどうかを設定します。 | false | false | MEDIUM |
camel.source.endpoint.time | 最初のイベントが生成される java.util.Date。URI を使用する場合、予想されるパターンは次のとおりです: yyyy-MM-dd HH:mm:ss または yyyy-MM-dd'T'HH:mm:ss。 | null | false | MEDIUM |
camel.source.endpoint.timer | カスタムタイマーを使用するには | null | false | MEDIUM |
camel.component.timer.bridgeErrorHandler | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | false | MEDIUM |
camel.component.timer.autowiredEnabled | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | false | MEDIUM |
camel-timer ソースコネクターには、すぐに使用できるコンバータはありません。
camel-timer ソースコネクターには、すぐに使える変換はありません。
camel-timer ソースコネクターには、すぐに使用できる集約ストラテジーはありません。