AWS SDK for Java 1.x は 2024 年 7 月 31 日にメンテナンスモードに入り、2025 年 12 月 31 日に end-of-support
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ウェブサイトとしての Amazon S3 バケットの設定
Amazon S3 バケットを、ウェブサイトのように機能させるよう設定できます。これを行うには、ウェブサイト設定をセットする必要があります。
注記
これらのコード例では、ユーザーが AWS SDK for Java の使用の内容を理解し、開発用の AWS 認証情報とリージョンのセットアップの情報を使用してデフォルトの AWS 認証情報を設定していることを前提としています。
バケットのウェブサイト設定をセットする
Amazon S3 バケットのウェブサイト設定をセットするには、AmazonS3 の setWebsiteConfiguration
メソッドを設定するバケット名で呼び出し、バケットのウェブサイト設定が含まれる BucketWebsiteConfiguration オブジェクトを呼び出します。
インデックスドキュメントの設定は必要ですが、他のすべてのパラメータはオプションです。
インポート
import com.amazonaws.AmazonServiceException; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.BucketWebsiteConfiguration;
Code
String bucket_name, String index_doc, String error_doc) { BucketWebsiteConfiguration website_config = null; if (index_doc == null) { website_config = new BucketWebsiteConfiguration(); } else if (error_doc == null) { website_config = new BucketWebsiteConfiguration(index_doc); } else { website_config = new BucketWebsiteConfiguration(index_doc, error_doc); } final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.DEFAULT_REGION).build(); try { s3.setBucketWebsiteConfiguration(bucket_name, website_config); } catch (AmazonServiceException e) { System.out.format( "Failed to set website configuration for bucket '%s'!\n", bucket_name); System.err.println(e.getErrorMessage()); System.exit(1); }
注記
ウェブサイト設定をセットしても、バケットのアクセス権限は変更されません。ウェブ上でファイルが表示されるようにするには、バケットのファイルにパブリック読み取りアクセスを許可するバケットポリシーも設定する必要があります。詳細については、バケットポリシーを使用した Amazon S3 バケットへのアクセス管理を参照してください。
GitHub
バケットのウェブサイト設定を取得する
Amazon S3 バケットのウェブサイト設定を取得するには、AmazonS3 の getWebsiteConfiguration
メソッドを、設定を取得するバケットの名前で呼び出します。
この設定は BucketWebsiteConfiguration オブジェクトとして返されます。バケットのウェブサイト設定がない場合は、null
が返されます。
インポート
import com.amazonaws.AmazonServiceException; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.BucketWebsiteConfiguration;
Code
final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.DEFAULT_REGION).build(); try { BucketWebsiteConfiguration config = s3.getBucketWebsiteConfiguration(bucket_name); if (config == null) { System.out.println("No website configuration found!"); } else { System.out.format("Index document: %s\n", config.getIndexDocumentSuffix()); System.out.format("Error document: %s\n", config.getErrorDocument()); } } catch (AmazonServiceException e) { System.err.println(e.getErrorMessage()); System.out.println("Failed to get website configuration!"); System.exit(1); }
GitHub
バケットのウェブサイト設定を削除する
Amazon S3 バケットのウェブサイト設定を削除するには、AmazonS3 の deleteWebsiteConfiguration
メソッドを、設定を削除するバケットの名前で呼び出します。
インポート
import com.amazonaws.AmazonServiceException; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder;
Code
final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withRegion(Regions.DEFAULT_REGION).build(); try { s3.deleteBucketWebsiteConfiguration(bucket_name); } catch (AmazonServiceException e) { System.err.println(e.getErrorMessage()); System.out.println("Failed to delete website configuration!"); System.exit(1); }
GitHub
詳細情報
-
Amazon S3 API リファレンスの PUT Bucket ウェブサイト
-
Amazon S3 API リファレンスの GET Bucket ウェブサイト
-
Amazon S3 API リファレンスの DELETE Bucket ウェブサイト