6.15. Spring Boot 自動設定
Spring Boot で aws2-s3 を使用する場合は、自動設定をサポートするために、次の Maven 依存関係を必ず使用してください。
<dependency> <groupId>org.apache.camel.springboot</groupId> <artifactId>camel-aws2-s3-starter</artifactId> </dependency>
<dependency>
<groupId>org.apache.camel.springboot</groupId>
<artifactId>camel-aws2-s3-starter</artifactId>
</dependency>
コンポーネントは、以下に記載される 51 のオプションをサポートします。
| 名前 | 説明 | デフォルト | タイプ |
|---|---|---|---|
| camel.component.aws2-s3.access-key | Amazon AWS Access Key。 | String | |
| camel.component.aws2-s3.amazon-s3-client | レジストリーの com.amazonaws.services.s3.AmazonS3 への参照。オプションは、software.amazon.awssdk.services.s3.S3Client タイプです。 | S3Client | |
| camel.component.aws2-s3.amazon-s3-presigner | リクエストの S3 Presigner。主に createDownloadLink 操作で使用されます。オプションは、software.amazon.awssdk.services.s3.presigner.S3Presigner タイプです。 | S3Presigner | |
| camel.component.aws2-s3.auto-create-bucket | S3 バケット bucketName の自動作成の設定。moveAfterRead オプションが有効になっている場合も適用され、destinationBucket が存在しない場合は作成されます。 | false | Boolean |
| camel.component.aws2-s3.autoclose-body | このオプションが true で、includeBody が false の場合、エクスチェンジの完了時に S3Object.close() メソッドが呼び出されます。このオプションは includeBody オプションと密接に関係しています。includeBody を false に設定し、autocloseBody を false に設定した場合、S3Object ストリームを閉じるのは呼び出し側が判断します。autocloseBody を true に設定すると、S3Object ストリームが自動的に閉じられます。 | true | Boolean |
| camel.component.aws2-s3.autowired-enabled | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | Boolean |
| camel.component.aws2-s3.aws-k-m-s-key-id | KMS が有効になっている場合に使用する KMS キーの ID を定義します。 | String | |
| camel.component.aws2-s3.batch-message-number | ストリーミングのアップロードモードでバッチを作成するメッセージの数 | 10 | Integer |
| camel.component.aws2-s3.batch-size | ストリーミングのアップロードモードのバッチサイズ (バイト単位) | 1000000 | Integer |
| camel.component.aws2-s3.bridge-error-handler | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、consumer は org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | Boolean |
| camel.component.aws2-s3.configuration | コンポーネントの設定。オプションは org.apache.camel.component.aws2.s3.AWS2S3Configuration タイプです。 | AWS2S3 設定 | |
| camel.component.aws2-s3.customer-algorithm | CustomerKey が有効になっている場合に使用するカスタマーアルゴリズムを定義します。 | String | |
| camel.component.aws2-s3.customer-key-id | CustomerKey が有効になっている場合に使用するカスタマーキーの ID を定義します。 | String | |
| camel.component.aws2-s3.customer-key-m-d5 | CustomerKey が有効になっている場合に使用するカスタマーキーの MD5 を定義します。 | String | |
| camel.component.aws2-s3.delete-after-read | 取得後に S3 からオブジェクトを削除します。削除は、エクスチェンジがコミットされた場合にのみ実行されます。ロールバックが発生すると、オブジェクトは削除されません。このオプションが false の場合、同じオブジェクトがポーリングで繰り返し取得されます。そのため、ルートで Idempotent Consumer EIP を使用して重複を除外する必要があります。AWS2S3Constants#BUClKET_NAME および AWS2S3Constants#KEY ヘッダーを使用してフィルターすることも、AWS2S3Constants#KEY ヘッダーのみを使用してフィルターすることもできます。 | true | Boolean |
| camel.component.aws2-s3.delete-after-write | S3 ファイルのアップロード後にファイルオブジェクトを削除します。 | false | Boolean |
| camel.component.aws2-s3.delimiter | 対象のオブジェクトのみを消費するために com.amazonaws.services.s3.model.ListObjectsRequest で使用される区切り文字。 | String | |
| camel.component.aws2-s3.destination-bucket | moveAfterRead が true に設定されている場合にオブジェクトを移動する必要がある宛先バケットを定義します。 | String | |
| camel.component.aws2-s3.destination-bucket-prefix | オブジェクトを移動する必要があり、moveAfterRead が true に設定されている場合に使用する宛先バケット接頭辞を定義します。 | String | |
| camel.component.aws2-s3.destination-bucket-suffix | オブジェクトを移動する必要があり、moveAfterRead が true に設定されている場合に使用する宛先バケット接尾辞を定義します。 | String | |
| camel.component.aws2-s3.done-file-name | 指定すると、Camel は完了したファイルが存在する場合にのみファイルを消費します。 | String | |
| camel.component.aws2-s3.enabled | aws2-c3 コンポーネントの自動設定を有効にするかどうか。これはデフォルトで有効になっています。 | Boolean | |
| camel.component.aws2-s3.file-name | 指定のファイル名を持つバケットからオブジェクトを取得します。 | String | |
| camel.component.aws2-s3.ignore-body | true の場合、S3 オブジェクトボディは完全に無視されます。false に設定されている場合、S3 オブジェクトはボディに配置されます。これを true に設定すると、includeBody オプションで定義された動作がオーバーライドされます。 | false | Boolean |
| camel.component.aws2-s3.include-body | true の場合、S3Object エクスチェンジが消費され、ボディーに配置され、閉じられます。false の場合、S3Object ストリームは raw でボディーに配置され、ヘッダーは S3 オブジェクトメタデータで設定されます。このオプションは、autocloseBody オプションと密接に関係します。S3Object ストリームが消費されるため includeBody を true に設定した場合、includeBody が false であっても閉じられるため、S3Object ストリームを閉じるのは呼び出し側が判断します。しかし、includeBody が false の場合に autocloseBody を true に設定すると、エクスチェンジの完了時に S3Object ストリームを自動的に閉じるようにスケジュールされます。 | true | Boolean |
| camel.component.aws2-s3.include-folders | true の場合、フォルダー/ディレクトリーが消費されます。false の場合は無視され、エクスチェンジは作成されません。 | true | Boolean |
| camel.component.aws2-s3.key-name | endpoint パラメーター経由でバケットの要素のキー名を設定します。 | String | |
| camel.component.aws2-s3.lazy-start-producer | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時に producer が失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、producer の作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | Boolean |
| camel.component.aws2-s3.move-after-read | オブジェクトの取得後に S3 バケットから別のバケットに移動します。操作を実行するには、destinationBucket オプションを設定する必要があります。copy bucket 操作は、エクスチェンジがコミットされた場合にのみ実行されます。ロールバックが発生した場合、オブジェクトは移動しません。 | false | Boolean |
| camel.component.aws2-s3.multi-part-upload | true の場合、Camel はマルチパート形式のファイルをアップロードし、パートサイズは partSize のオプションによって決定されます。 | false | Boolean |
| camel.component.aws2-s3.naming-strategy | ストリーミングのアップロードモードで使用する命名ストラテジー。 | AWSS3NamingStrategyEnum | |
| camel.component.aws2-s3.operation | ユーザーがアップロードだけをしたくない場合に行う操作。 | AWS2S3Operations | |
| camel.component.aws2-s3.override-endpoint | エンドポイントをオーバーライドする必要性を設定します。このオプションは uriEndpointOverride オプションと併用する必要があります。 | false | Boolean |
| camel.component.aws2-s3.part-size | マルチパートのアップロードで使用される partSize を設定します。デフォルトのサイズは 25M です。 | 26214400 | Long |
| camel.component.aws2-s3.pojo-request | POJO リクエストをボディーとして使用するかどうか。 | false | Boolean |
| camel.component.aws2-s3.policy | com.amazonaws.services.s3.AmazonS3#setBucketPolicy() メソッドに設定されるこのキューのポリシー。 | String | |
| camel.component.aws2-s3.prefix | 対象のオブジェクトのみを消費するために com.amazonaws.services.s3.model.ListObjectsRequest で使用される接頭辞。 | String | |
| camel.component.aws2-s3.proxy-host | SQS クライアントをインスタンス化するときにプロキシーホストを定義します。 | String | |
| camel.component.aws2-s3.proxy-port | クライアント定義内で使用されるプロキシーポートを指定します。 | Integer | |
| camel.component.aws2-s3.proxy-protocol | S3 クライアントをインスタンス化するときにプロキシープロトコルを定義します。 | Protocol | |
| camel.component.aws2-s3.region | S3 クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。 | String | |
| camel.component.aws2-s3.restarting-policy | ストリーミングのアップロードモードで使用する再起動ポリシー。 | AWSS3RestartingPolicyEnum | |
| camel.component.aws2-s3.secret-key | Amazon AWS Secret Key。 | String | |
| camel.component.aws2-s3.storage-class | com.amazonaws.services.s3.model.PutObjectRequest リクエストに設定するストレージクラス。 | String | |
| camel.component.aws2-s3.streaming-upload-mode | ストリームモードが true の場合、バケットへのアップロードはストリーミングで行われます。 | false | Boolean |
| camel.component.aws2-s3.streaming-upload-timeout | ストリーミングアップロードモードが true の場合、このオプションはタイムアウトを設定してアップロードを完了します。 | Long | |
| camel.component.aws2-s3.trust-all-certificates | エンドポイントをオーバーライドするときにすべての証明書を信頼する場合。 | false | Boolean |
| camel.component.aws2-s3.uri-endpoint-override | オーバーライドする URI エンドポイントを設定します。このオプションは overrideEndpoint オプションと組み合わせて使用する必要があります。 | String | |
| camel.component.aws2-s3.use-aws-k-m-s | KMS を使用する必要があるかどうかを定義します。 | false | Boolean |
| camel.component.aws2-s3.use-customer-key | カスタマーキーを使用する必要があるかどうかを定義します。 | false | Boolean |
| camel.component.aws2-s3.use-default-credentials-provider | デフォルトのクレデンシャルプロバイダー経由でクレデンシャルをロードすること、または静的クレデンシャルが渡されることを S3 クライアントは想定すべきかどうかを設定します。 | false | Boolean |