翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon S3 で使用する
このセクションでは、 AWS SDK for Java 2.xを使用して Amazon Simple Storage Service (S3) でプログラムする例を示します。
次の例には各手法を示すのに必要なコードのみが含まれます。完全なサンプルコードは、「」で入手できます GitHub
注記
バージョン 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();
アクセスポイントまたはマルチリージョンアクセスポイントを使用する
Amazon S3 Access Points またはマルチリージョンアクセスポイントを設定したら、putObject
やgetObject
などのオブジェクトメソッドを呼び出して、バケット名の代わりにアクセスポイント ID を指定できます。
たとえば、アクセスポイント ARN 識別子が arn:aws:s3:us-west-2:123456789012:accesspoint/test
の場合、次のスニペットを使用して putObject
メソッドを呼び出すことができます。
Path path = Paths.get(URI.create("file:///temp/file.txt")); s3Client.putObject(builder -> builder .key("myKey") .bucket("arn:aws:s3:us-west-2:123456789012:accesspoint/test") , path);
ARN 文字列の代わりに、アクセスポイントのバケットスタイルのエイリアスを bucket
パラメータに使用することもできます。
マルチリージョンアクセスポイントを使用するには、bucket
パラメータを次の形式のマルチリージョンアクセスポイント ARN に置き換えます。
arn:aws:s3::account-id:accesspoint/MultiRegionAccessPoint_alias
SDK for Java を使用してマルチリージョンアクセスポイントと連携するには、次の Maven 依存関係を追加します。Maven central で最新バージョン
<dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>auth-crt</artifactId> <version>
VERSION
</version> </dependency>