Amazon S3 で使用する
このセクションでは、AWS SDK for Java 2.x を使用して Amazon S3 を操作するための背景情報を提供します。このセクションは、このガイドの「コード例」セクションで説明されている Amazon S3 Java v2 の例の情報を補完します
AWS SDK for Java 2.x の S3 クライアント
AWS SDK for Java 2.x は、さまざまなタイプの S3 クライアントを提供します。次の表では違いを比較しており、ユースケースに最適なクライアントを決定するのに役立ちます。
| S3 クライアント | 簡単な説明 | どのようなときに使うか | 制限/欠点 |
|---|---|---|---|
|
AWS CRT ベースの S3 クライアント インターフェイス: S3AsyncClient ビルダー: S3CrtAsyncClientBuilder |
「パフォーマンスの高い S3 クライアントを使用する: AWS CRT ベースの S3 クライアント」を参照してください。 |
|
|
|
マルチパートが有効になっている Java ベースの S3 非同期クライアント インターフェイス: S3AsyncClient ビルダー: S3AsyncClientBuilder |
「並列転送を使用するように Java ベースの S3 非同期クライアントを設定する」を参照してください。 |
|
AWS CRT ベースの S3 クライアントよりもパフォーマンスが低くなります。 |
|
マルチパートが有効になっていない Java ベースの S3 非同期クライアント インターフェイス: S3AsyncClient ビルダー: S3AsyncClientBuilder |
|
|
パフォーマンスの最適化なし。 |
|
Java ベースの S3 同期クライアント インターフェイス: S3Client ビルダー: S3ClientBuilder |
|
|
パフォーマンスの最適化なし。 |
注記
バージョン 2.18.x 以降では、AWS SDK for Java 2.x はエンドポイントオーバーライドを含める際に仮想ホスト形式のアドレッシングを使用します。これは、バケット名が有効な DNS ラベルである限り適用されます。
クライアントビルダーの true で forcePathStyle
以下の例は、エンドポイントオーバーライドを設定し、パス形式のアドレス指定を使用するサービスクライアントを示しています。
S3Client client = S3Client.builder() .region(Region.US_WEST_2) .endpointOverride(URI.create("https://s3.us-west-2.amazonaws.com")) .forcePathStyle(true) .build();