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>
Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。
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
camel-aws2-sqs シンクコネクターにはそのまま使える集約ストラテジーがありません。