截至 2024 年 7 月 31 日, AWS SDK for Java 1.x 已進入維護模式,並將在 2025 年 12 月 31 日送達 end-of-support
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定Amazon S3存儲桶即網站
您可以設定Amazon S3儲存儲體作為網站。若要這樣做,您需要設定其網站配置。
注意
這些代碼示例假定您理解使用AWS SDK for Java並配置了默認AWS憑據使用設定AWS全權證書和區域促進發展。
設定儲存儲體的網站組態
若要設置Amazon S3存儲桶的網站配置,請調用卓越亞馬遜的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); }
注意
設置網站配置不會修改存儲桶的訪問權限。要使您的文件在 Web 上可見,您還需要設置儲存儲體政策,它允許公用讀取儲存儲體中的文件。如需詳細資訊,請參閱「」管理對 的存取Amazon S3儲存儲體使用儲存儲體政策。
請參閱 GitHub 上的完整範例
獲取存儲桶的網站配置
若要獲取Amazon S3存儲桶的網站配置,請調用卓越亞馬遜的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存儲桶的網站配置,請調用卓越亞馬遜的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 上的完整範例
詳細資訊
-
PUT 儲存貯體網站中的Amazon S3API 參考
-
GET 儲存貯體網站中的Amazon S3API 參考
-
DELETE 儲存貯體網站中的Amazon S3API 參考