本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
與 Amazon S3 合作
本節提供使用 Amazon Simple Storage Service (S3) 進行程式設計的範例 AWS SDK for Java 2.x。
下列範例僅包含示範每個技術所需的程式碼。完整的範例程式碼可在上
注意
從 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 存取點或多區域存取點後,您可以呼叫物件方法,例如putObject
和,getObject
並提供存取點識別碼,而不是儲存貯體名稱。
例如,如果存取點 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
新增下列 Maven 相依性,以使用 SDK for Java 來處理多區域存取點。搜索 Maven 中心以獲取最新版本
<dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>auth-crt</artifactId> <version>
VERSION
</version> </dependency>