6.3. コンポーネントオプション
AWS S3 Storage Service コンポーネントは、以下に示す 50 のオプションをサポートしています。
| 名前 | 説明 | デフォルト | タイプ |
|---|---|---|---|
| amazonS3Client (共通) | Autowired レジストリーの com.amazonaws.services.s3.AmazonS3 への参照。 | S3Client | |
| amazonS3Presigner (共通) | Autowired リクエストの S3 Presigner。主に createDownloadLink 操作で使用されます。 | S3Presigner | |
| autoCreateBucket (共通) | S3 バケット bucketName の自動作成の設定。moveAfterRead オプションが有効になっている場合も適用され、destinationBucket が存在しない場合は作成されます。 | false | boolean |
| configuration (共通) | コンポーネントの設定。 | AWS2S3 設定 | |
| overrideEndpoint (共通) | エンドポイントをオーバーライドする必要性を設定します。このオプションは uriEndpointOverride オプションと併用する必要があります。 | false | boolean |
| pojoRequest (共通) | POJO リクエストをボディーとして使用するかどうか。 | false | boolean |
| policy (共通) | com.amazonaws.services.s3.AmazonS3#setBucketPolicy() メソッドに設定されるこのキューのポリシー。 | String | |
| proxyHost (共通) | SQS クライアントをインスタンス化するときにプロキシーホストを定義します。 | String | |
| proxyPort (共通) | クライアント定義内で使用されるプロキシーポートを指定します。 | Integer | |
| proxyProtocol (共通) | S3 クライアントをインスタンス化するときにプロキシープロトコルを定義します。 列挙値:
| HTTPS | Protocol |
| region (共通) | S3 クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。 | String | |
| trustAllCertificates (共通) | エンドポイントをオーバーライドするときにすべての証明書を信頼する場合。 | false | boolean |
| uriEndpointOverride (共通) | オーバーライドする URI エンドポイントを設定します。このオプションは overrideEndpoint オプションと組み合わせて使用する必要があります。 | String | |
| useDefaultCredentialsProvider (共通) | デフォルトのクレデンシャルプロバイダー経由でクレデンシャルをロードすること、または静的クレデンシャルが渡されることを S3 クライアントは想定すべきかどうかを設定します。 | false | boolean |
| customerAlgorithm(共通 (上級)) | CustomerKey が有効になっている場合に使用するカスタマーアルゴリズムを定義します。 | String | |
| customerKeyId (共通 (上級)) | CustomerKey が有効になっている場合に使用するカスタマーキーの ID を定義します。 | String | |
| customerKeyMD5 (共通 (上級)) | CustomerKey が有効になっている場合に使用するカスタマーキーの MD5 を定義します。 | String | |
| bridgeErrorHandler (consumer) | consumer の Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、consumer が受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、consumer は org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | boolean |
| deleteAfterRead (consumer) | 取得後に S3 からオブジェクトを削除します。削除は、エクスチェンジがコミットされた場合にのみ実行されます。ロールバックが発生すると、オブジェクトは削除されません。このオプションが false の場合、同じオブジェクトがポーリングで繰り返し取得されます。そのため、ルートで Idempotent Consumer EIP を使用して重複を除外する必要があります。AWS2S3Constants#BUCKET_NAME および AWS2S3Constants#KEY ヘッダーを使用してフィルターすることも、AWS2S3Constants#KEY ヘッダーのみを使用してフィルターすることもできます。 | true | boolean |
| delimiter (consumer) | 対象のオブジェクトのみを消費するために com.amazonaws.services.s3.model.ListObjectsRequest で使用される区切り文字。 | String | |
| destinationBucket (consumer) | moveAfterRead が true に設定されている場合にオブジェクトを移動する必要がある宛先バケットを定義します。 | String | |
| destinationBucketPrefix (consumer) | オブジェクトを移動する必要があり、moveAfterRead が true に設定されている場合に使用する宛先バケット接頭辞を定義します。 | String | |
| destinationBucketSuffix (consumer) | オブジェクトを移動する必要があり、moveAfterRead が true に設定されている場合に使用する宛先バケット接尾辞を定義します。 | String | |
| doneFileName (consumer) | 指定すると、Camel は完了したファイルが存在する場合にのみファイルを消費します。 | String | |
| fileName (consumer) | 指定のファイル名を持つバケットからオブジェクトを取得します。 | String | |
| ignoreBody (consumer) | true の場合、S3 オブジェクトボディは完全に無視されます。false に設定されている場合、S3 オブジェクトはボディに配置されます。これを true に設定すると、includeBody オプションで定義された動作がオーバーライドされます。 | false | boolean |
| includeBody (consumer) | true の場合、S3Object エクスチェンジが消費され、ボディーに配置され、閉じられます。false の場合、S3Object ストリームは raw でボディーに配置され、ヘッダーは S3 オブジェクトメタデータで設定されます。このオプションは、autocloseBody オプションと密接に関係します。S3Object ストリームが消費されるため includeBody を true に設定した場合、includeBody が false であっても閉じられるため、S3Object ストリームを閉じるのは呼び出し側が判断します。しかし、includeBody が false の場合に autocloseBody を true に設定すると、エクスチェンジの完了時に S3Object ストリームを自動的に閉じるようにスケジュールされます。 | true | boolean |
| includeFolders (consumer) | true の場合、フォルダー/ディレクトリーが消費されます。false の場合は無視され、エクスチェンジは作成されません。 | true | boolean |
| moveAfterRead (consumer) | オブジェクトの取得後に S3 バケットから別のバケットに移動します。操作を実行するには、destinationBucket オプションを設定する必要があります。copy bucket 操作は、エクスチェンジがコミットされた場合にのみ実行されます。ロールバックが発生した場合、オブジェクトは移動しません。 | false | boolean |
| prefix (consumer) | 対象のオブジェクトのみを消費するために com.amazonaws.services.s3.model.ListObjectsRequest で使用される接頭辞。 | String | |
| autocloseBody (consumer (上級)) | このオプションが true で、includeBody が false の場合、エクスチェンジの完了時に S3Object.close() メソッドが呼び出されます。このオプションは includeBody オプションと密接に関係しています。includeBody を false に設定し、autocloseBody を false に設定した場合、S3Object ストリームを閉じるのは呼び出し側が判断します。autocloseBody を true に設定すると、S3Object ストリームが自動的に閉じられます。 | true | boolean |
| batchMessageNumber (producer) | ストリーミングのアップロードモードでバッチを作成するメッセージの数 | 10 | int |
| batchSize (producer) | ストリーミングのアップロードモードのバッチサイズ (バイト単位) | 1000000 | int |
| deleteAfterWrite (producer) | S3 ファイルのアップロード後にファイルオブジェクトを削除します。 | false | boolean |
| keyName (producer) | endpoint パラメーター経由でバケットの要素のキー名を設定します。 | String | |
| lazyStartProducer (producer) | 最初のメッセージで producer をレイジーに起動すべきかどうか。レイジーに起動することで、起動時に producer が失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、producer の作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | boolean |
| multiPartUpload (producer) | true の場合、Camel はマルチパート形式のファイルをアップロードし、パートサイズは partSize のオプションによって決定されます。 | false | boolean |
| namingStrategy (producer) | ストリーミングのアップロードモードで使用する命名ストラテジー。 列挙値:
| progressive | AWSS3NamingStrategyEnum |
| operation (producer) | ユーザーがアップロードだけをしたくない場合に行う操作。 列挙値:
| AWS2S3Operations | |
| partSize (producer) | マルチパートのアップロードで使用される partSize を設定します。デフォルトのサイズは 25M です。 | 26214400 | long |
| restartingPolicy (producer) | ストリーミングのアップロードモードで使用する再起動ポリシー。 列挙値:
| override | AWSS3RestartingPolicyEnum |
| storageClass (producer) | com.amazonaws.services.s3.model.PutObjectRequest リクエストに設定するストレージクラス。 | String | |
| streamingUploadMode (producer) | ストリームモードが true の場合、バケットへのアップロードはストリーミングで行われます。 | false | boolean |
| streamingUploadTimeout (producer) | ストリーミングアップロードモードが true の場合、このオプションはタイムアウトを設定してアップロードを完了します。 | long | |
| awsKMSKeyId (producer (上級)) | KMS が有効になっている場合に使用する KMS キーの ID を定義します。 | String | |
| useAwsKMS (producer (上級)) | KMS を使用する必要があるかどうかを定義します。 | false | boolean |
| useCustomerKey (producer (上級)) | カスタマーキーを使用する必要があるかどうかを定義します。 | false | boolean |
| autowiredEnabled (上級) | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | boolean |
| accessKey (security) | Amazon AWS Access Key。 | String | |
| secretKey (security) | Amazon AWS Secret Key。 | String |