與 Amazon S3 合作 - AWS SDK for Java 2.x

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

與 Amazon S3 合作

本節提供使用 Amazon Simple Storage Service (S3) 進行程式設計的範例 AWS SDK for Java 2.x。

下列範例僅包含示範每個技術所需的程式碼。完整的範例程式碼可在上取得 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 存取點多區域存取點後,您可以呼叫物件方法,例如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>