Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.10.7. AWS-S3
S3 コンポーネント リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Camel 2.8 から利用可能
S3 コンポーネントは、Amazon の S3 サービスからの objetc の 保存および取得をサポートします。
前提条件
Amazon S3 を使用するには、有効な Amazon Web Services 開発者アカウントが必要です。詳細は Amazon S3 を参照してください。
URI 形式 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
aws-s3://bucket-name[?options]
aws-s3://bucket-name[?options]
バケットが存在しない場合は作成されます。URI にクエリーオプションは ?options=value&option2=value&.. の形式で追加できます。
URI オプション リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
名前 | デフォルト値 | コンテキスト | 説明 |
---|---|---|---|
amazonS3Client
|
null
|
共有 |
レジストリーの com.amazonaws.services.sqs.AmazonS3 への参照。
|
accessKey
|
null
|
共有 | Amazon AWS Access Key |
secretKey
|
null
|
共有 | Amazon AWS Secret Key |
amazonS3Endpoint
|
null
|
共有 | AWS-S3 クライアントが操作するリージョン。 |
region
|
null
|
プロデューサー |
バケットのあるリージョン。このオプションは com.amazonaws.services.s3.model.CreateBucketRequest で使用されます。
|
deleteAfterRead
|
true
|
コンシューマー | 取得後に S3 からオブジェクトを削除します。 |
deleteAfterWrite
|
false
|
プロデューサー | S3 ファイルのアップロード後の Camel 2.11.0 Delete ファイルオブジェクト |
maxMessagesPerPoll
|
10 | コンシューマー |
1 回のポーリングで取得できるオブジェクトの最大数。com.amazonaws.services.s3.model.ListObjectsRequest で使用されています。
|
policy
|
null
|
共有 |
camel 2.8.4: com.amazonaws.services.s3.AmazonS3#setBucketPolicy () メソッドに設定するこのキューのポリシー。
|
storageClass
|
null
|
プロデューサー |
camel 2.8.4: com.amazonaws.services.s3.model.PutObjectRequest リクエストに設定するストレージクラス。
|
prefix
|
null
|
コンシューマー |
Camel 2.10.1: 対象のオブジェクトのみを消費するために com.amazonaws.services.s3.model.ListObjectsRequest で使用される接頭辞。
|
multiPartUpload
|
false
|
プロデューサー |
Camel 2.15.0: true の場合、Camel はマルチパート形式でファイルをアップロードします。ここで、パートサイズは partSize オプションで指定できます。
|
partSize
|
25 * 1024 * 1024
|
プロデューサー |
Camel 2.15.0: マルチパートアップロードで使用される partSize を指定します。デフォルトは 25 MB です。
|
serverSideEncryption
|
null
|
プロデューサー | camel 2.16: AWS 管理のキーを使用してオブジェクトを暗号化する際にサーバー側の暗号化アルゴリズムを設定します。たとえば、AES256 を使用します。 |
proxyHost
|
null
|
プロデューサー | Camel 2.16: クライアント定義内で使用されるプロキシーホストを指定します。 |
proxyPort
|
null
|
プロデューサー | Camel 2.16: クライアント定義内で使用されるプロキシーポートを指定します。 |
includeBody
|
null
|
コンシューマー |
Camel 2.17: true の場合、エクスチェンジボディーはファイルの内容にストリームに設定されます。false の場合、ヘッダーは S3 オブジェクトメタデータで設定されますが、ボディーは null になります。
|
必要な S3 コンポーネントのオプション
Amazon の S3 にアクセスするには、レジストリーまたは accessKey および secretKey で amazonS3 Client を指定する必要があります。
バッチコンシューマー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
このコンポーネントは、バッチコンシューマー を 実装し ます。
これにより、たとえば、このバッチに存在するメッセージの数を把握し、Aggregator はこの数のメッセージを集約できます。
使用方法 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
S3 プロデューサーによって評価されるメッセージヘッダー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ヘッダー | タイプ | 説明 |
---|---|---|
CamelAwsS3Key
|
文字列
|
このオブジェクトが保存されるキー。 |
CamelAwsS3ContentLength
|
Long
|
このオブジェクトのコンテンツの長さ。 |
CamelAwsS3ContentType
|
文字列
|
このオブジェクトのコンテンツタイプ。 |
CamelAwsS3ContentControl
|
文字列
|
このオブジェクトのコンテンツ制御。 |
CamelAwsS3ContentDisposition
|
文字列
|
このオブジェクトの内容。 |
CamelAwsS3ContentEncoding
|
文字列
|
このオブジェクトのコンテンツエンコーディング。 |
CamelAwsS3ContentMD5
|
文字列
|
このオブジェクトの md5 チェックサム。 |
CamelAwsS3LastModified
|
java.util.Date
|
このオブジェクトの最後に変更されたタイムスタンプ。 |
CamelAwsS3StorageClass
|
文字列
|
*Camel 2.8.4:* このオブジェクトのストレージクラス。 |
CamelAwsS3CannedAcl
|
文字列
|
Camel 2.11.0: オブジェクトに適用される正規の acl。許可される値の com.amazonaws.services.s3.model.CannedAccessControlList を参照してください。
|
CamelAwsS3Acl
|
com.amazonaws.services.s3.model.AccessControlList
|
Camel 2.11.0: 適切に構築された Amazon S3 Access Control List オブジェクト。詳細は、com.amazonaws.services.s3.model.AccessControlList を参照してください。
|
CamelAwsS3Headers
|
Map<String,String>
|
Camel 2.15.0: カスタム objectMetadata ヘッダーの取得および 設定をサポートします。
|
CamelAwsS3ServerSideEncryption
|
文字列
|
camel 2.16: AWS 管理のキーを使用してオブジェクトを暗号化する際にサーバー側の暗号化アルゴリズムを設定します。たとえば、AES256 を使用します。 |
S3 プロデューサーによって設定されたメッセージヘッダー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ヘッダー | タイプ | 説明 |
---|---|---|
CamelAwsS3ETag
|
文字列
|
新たにアップロードしたオブジェクトの ETag 値。 |
CamelAwsS3VersionId
|
文字列
|
新たにアップロードしたオブジェクトの オプション のバージョン ID。 |
S3 コンシューマーによって設定されたメッセージヘッダー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ヘッダー | タイプ | 説明 |
---|---|---|
CamelAwsS3Key
|
文字列
|
このオブジェクトが保存されるキー。 |
CamelAwsS3BucketName
|
文字列
|
このオブジェクトが含まれるバケットの名前。 |
CamelAwsS3ETag
|
文字列
|
RFC 1864 に従って、関連付けられたオブジェクトの 16 進エンコードされた 128 ビット MD5 ダイジェスト。このデータは整合性チェックとして使用され、呼び出し元が受信したデータが Amazon S3 によって送信されたデータと同じであることを確認します。 |
CamelAwsS3LastModified
|
日付
|
Amazon S3 が最後に関連付けられたオブジェクトへの変更を記録した日時を示す Last-Modified ヘッダーの値。 |
CamelAwsS3VersionId
|
文字列
|
関連する Amazon S3 オブジェクトのバージョン ID (ある場合)。バージョン ID は、オブジェクトがオブジェクトのバージョン管理が有効にされている Amazon S3 バケットにアップロードされる場合にのみオブジェクトに割り当てられます。 |
CamelAwsS3ContentType
|
文字列
|
関連付けられたオブジェクトに保存されるコンテンツのタイプを示す Content-Type HTTP ヘッダー。このヘッダーの値は標準の MIME タイプです。 |
CamelAwsS3ContentMD5
|
文字列
|
RFC 1864 に準拠した、関連付けられたオブジェクト(ヘッダーを含まないコンテンツ)の base64 でエンコードされた 128 ビット MD5 ダイジェスト。このデータは、Amazon S3 が受信したデータが呼び出し元によって送信されたデータと同じであることを確認するために、メッセージ整合性チェックとして使用されます。 |
CamelAwsS3ContentLength
|
Long
|
関連付けられたオブジェクトのサイズ(バイト単位)を示す Content-Length HTTP ヘッダー。 |
CamelAwsS3ContentEncoding
|
文字列
|
オプション の Content-Encoding HTTP ヘッダーには、オブジェクトに適用されたコンテンツエンコーディング、および Content-Type フィールドで参照されるメディアタイプを取得するために適用する必要のあるデコードメカニズムを指定します。 |
CamelAwsS3ContentDisposition
|
文字列
|
オプション の Content-Disposition HTTP ヘッダー。これは、オブジェクトの保存に使用する推奨ファイル名などの表示情報を指定します。 |
CamelAwsS3ContentControl
|
文字列
|
オプション の Cache-Control HTTP ヘッダー。これにより、ユーザーは HTTP 要求/リプライチェーンでキャッシュ動作を指定できます。 |
CamelAwsS3ServerSideEncryption
|
文字列
|
Camel 2.16: AWS 管理のキーを使用してオブジェクトを暗号化する際にサーバー側の暗号化アルゴリズム。 |
高度な AmazonS3 設定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Camel アプリケーションがファイアウォールの背後で実行されている場合、または
AmazonS3
インスタンス設定をより詳細に制御する必要がある場合は、独自のインスタンスを作成できます。
Camel aws-s3 コンポーネント設定でこれを参照します。
from("aws-s3://MyBucket?amazonS3Client=#client&delay=5000&maxMessagesPerPoll=5") .to("mock:result");
from("aws-s3://MyBucket?amazonS3Client=#client&delay=5000&maxMessagesPerPoll=5")
.to("mock:result");
Dependencies リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Maven ユーザーは、以下の依存関係を pom.xml に追加する必要があります。
pom.xml
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-aws</artifactId> <version>${camel-version}</version> </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
</dependency>
ここで、
$\{camel-version\}
は実際の Camel バージョン(2.8 以降)に置き換える必要があります。