使用 AWS SDK for Java - Amazon Simple Storage Service

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

使用 AWS SDK for Java

AWS SDK for Java 為 Amazon S3 儲存貯體和物件操作提供一個 API。針對物件操作,除了提供 API 透過單一操作來上傳物件之外,開發套件還提供 API 來分段上傳大型物件。如需詳細資訊,請參閱「使用分段上傳來上傳和複製物件」。

AWS SDK for Java 可讓您選擇使用高階或低階 API。

低階 API

低階 API 對應至基礎 Amazon S3 REST 操作 (例如,套用至儲存貯體與物件的建立、更新與刪除操作)。在上傳大型物件時使用低階分段上傳 API,可以提供更好的控制。例如,這可讓您暫停後再繼續分段上傳,在上傳時改變部分的大小,或是在您未事先知道資料大小時開始上傳。如果您沒有這些需求,請使用高階 API 上傳物件。

高階 API

針對上傳物件,開發套件透過提供 TransferManager 類別,來提供較高階的抽象概念。高階 API 是較簡單的 API,只要幾行程式碼,您就可以將檔案與串流上傳至 Amazon S3。除非您需要控制上傳,否則您應該使用此 API 來上傳資料,如上面的「低階 API」一節所述。

如果資料大小較小,TransferManager API 會透過單一操作來上傳資料。不過,TransferManager 會在資料大小達到特定閾值時切換成使用分段上傳 API。如有可能,TransferManager 會使用多個執行緒同時上傳多個部分。如果分段上傳失敗,則 API 會重試失敗的分段上傳最多三次。不過,這些是可使用 TransferManagerConfiguration 類別設定的選項。

注意

在您使用資料來源的串流時,TransferManager 類別不會執行並行上傳。

Java API 組織

AWS SDK for Java中的下列套裝服務提供 API:

  • com.amazonaws.services.s3—提供 API 以建立 Amazon S3 用戶端並使用儲存貯體與物件。例如,這能讓您建立儲存貯體、上傳物件、取得物件、刪除物件,以及列出金鑰。

  • com.amazonaws.services.s3.transfer—提供高階 API 資料操作。

    此高階 API 的設計目的為簡化傳輸物件至 Amazon S3 的流程。它包括 TransferManager 類別,提供非同步法,用於查詢和操作傳輸。這也包含 TransferManagerConfiguration 類別,可用來設定分段上傳的最小部分大小,以及何時使用分段上傳的位元組閾值。

  • com.amazonaws.services.s3.model—提供低階 API 類別來建立請求及處理回應。例如,它包含 GetObjectRequest 類別說明取得物件要求,ListObjectsRequest 類別說明來列出金鑰要求,以及 InitiateMultipartUploadRequest 建立分段上傳。

如需 AWS SDK for Java API 的詳細資訊,請參閱 AWS SDK for Java API 參考

測試 Amazon S3 Java 程式碼範例

本指南的 Java 範例與AWS SDK for Java 1.11.321 版相容。如需設定和執行程式碼範例的指示,請參閱《AWS SDK for Java 開發人員指南》中的入門