使用 AWS 軟體開發套件搭配 Amazon S3 冰川 - Amazon S3 Glacier

如果您不熟悉 Amazon Simple Storage Service (Amazon S3) 中的封存儲存,建議您從深入了解 Amazon S3 中的 S3 Glacier 儲存類別、S3 Glacier Instant RetrievalS3 Glacier Flexible RetrievalS3 Glacier Deep Archive 開始。如需詳細資訊,請參閱 Amazon S3 使用者指南中的 S3 Glacier 儲存類別和存檔物件的儲存類別。

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

使用 AWS 軟體開發套件搭配 Amazon S3 冰川

AWS 提供開發套件供您開發適用於 Amazon S3 冰川的應用程式。軟體開發套件程式庫包裝基礎 S3 Glacier API,可簡化程式設計任務。例如,對於傳送到 S3 Glacier 的每個請求,您必須加入簽章以驗證請求。使用 SDK 程式庫時,您只需要在程式碼中提供 AWS 安全登入資料,而程式庫會計算必要的簽章,並將其包含在傳送至 S3 Glacier 的請求中。 AWS SDK 提供可對應至基礎 REST API 的程式庫,並提供物件,讓您可以使用這些物件輕鬆建構要求和處理回應。

AWS Command Line Interface (AWS CLI) 是一個統一的工具來管理您的 AWS 服務,包括 S3 冰川。如需有關下載的資訊 AWS CLI,請參閱AWS Command Line Interface。如需有關 S3 Glacier CLI 命令的清單,請參閱 AWS CLI 命令參考

AWS 適用於 Java 和. NET 的開發套件庫

適用於 Java 和 .NET 的 AWS 開發套件提供高階和低階的包裝函式庫。

您可以使用本開發人員指南 AWS SDK for .NET 中的 AWS SDK for Java 和,找到使用 Amazon S3 Glacier 的範例。

什麼是低階 API?

低階包裝函式程式庫緊密對應 S3 Glacier 所支援的基礎 REST API (Amazon S3 Glacier API 參考)。對於每個 S3 Glacier REST 作業,低階 API 提供對應的方法,請求物件為您提供請求資訊和回應物件,以供您處理 S3 Glacier 回應。低階包裝函式程式庫是基礎 S3 Glacier 作業的最完整的實作。

如需開發套件程式庫的詳細資訊,請參閱 將 AWS SDK for Java 與 Amazon S3 Glacier 搭配使用將 AWS SDK for .NET 與 Amazon S3 Glacier 搭配使用

什麼是高階 API?

為了進一步簡化應用程式的開發,這些程式庫為某些操作提供較高階抽象概念。例如:

  • 上傳封存 - 使用低階 API 上傳封存,除了要儲存封存的檔案名稱和保存庫名稱外,您需要提供承載的檢查總和 (SHA-256 樹雜湊)。但是,高階 API 會為您計算檢查總和。

  • 下載封存或保存庫庫存 - 使用低階 API 下載封存,您首先要啟動工作,等待工作完成,然後取得工作輸出。您需要編寫額外的程式碼來為 S3 Glacier 設定 Amazon Simple Notification Service (Amazon SNS) 主題,以便在工作完成時通知您。您還需要一些輪詢機制來檢查是否已將作業完成訊息發佈到主題。高階 API 提供一種方法,可下載處理所有這些步驟的封存。您只能指定要儲存下載資料的封存 ID 和資料夾路徑。

如需開發套件程式庫的詳細資訊,請參閱 將 AWS SDK for Java 與 Amazon S3 Glacier 搭配使用將 AWS SDK for .NET 與 Amazon S3 Glacier 搭配使用

何時使用高階和低階 API

一般而言,如果高階 API 提供了執行操作所需的方法,則應使用高階 API ,因為它本身提供簡易性。但是,如果高階 API 不提供此功能,則可以使用低階 API。此外,低階 API 允許在發生故障時對操作進行精細控制,例如重試邏輯。例如,在上傳封存時,高階 API 會利用檔案大小來判斷是在單一操作上傳封存,還是使用分段上傳 API。API 還具有內建的重試邏輯,以防上傳失敗。但是,您的應用程式可能需要對這些決策進行精細控制,在這種情況下,您可以使用低階 API。