此頁面僅適用於使用 Vaults 和 2012 年原始 REST API 的 Amazon Glacier 服務的現有客戶。
如果您要尋找封存儲存解決方案,建議您在 Amazon Glacier Instant Retrieval、S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive 中使用 Amazon Glacier 儲存類別。 Amazon S3 若要進一步了解這些儲存選項,請參閱 Amazon Glacier 儲存類別
自 2025 年 12 月 15 日起,Amazon Glacier (原始獨立保存庫型服務) 將不再接受新客戶,不會影響現有客戶。Amazon Glacier 是一項獨立服務,具有自己的 APIs,可將資料存放在保存庫中,並與 Amazon S3 和 Amazon S3 Glacier 儲存類別不同。您現有的資料將在 Amazon Glacier 中無限期保持安全且可存取。不需要遷移。對於低成本、長期的封存儲存, AWS 建議採用 Amazon S3 Glacier 儲存類別
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
適用於 .NET 的 AWS SDK 搭配 Amazon Glacier 使用
適用於 .NET 的 AWS SDK API 可在 中使用AWSSDK.dll。如需下載 的相關資訊 適用於 .NET 的 AWS SDK,請前往範例程式碼程式庫
注意
低階 API 和高階 API 提供用於存取 Amazon Glacier 的執行緒安全用戶端。根據最佳實務,您的應用程式應該建立一個用戶端,並在執行緒之間重複使用該用戶端。
使用低階 API
低階AmazonGlacierClient類別提供映射至 Amazon Glacier (Amazon Glacier) 基礎 REST 操作的所有方法 ()Amazon Glacier 的 API 參考。呼叫任何這些方法時,您必須建立對應的請求物件,並提供回應物件,其中方法可以傳回 Amazon Glacier 回應給 操作。
例如,AmazonGlacierClient 類別提供 CreateVault 方法來建立保存庫。此方法對應到底層建立保存庫 REST 作業 (請參閱 建立保存庫 (PUT 保存庫))。若要使用此方法,您必須建立 CreateVaultRequest和 CreateVaultResponse類別的執行個體,以提供請求資訊並接收 Amazon Glacier 回應,如下列 C# 程式碼片段所示:
AmazonGlacierClient client; client = new AmazonGlacierClient(Amazon.RegionEndpoint.USEast1); CreateVaultRequest request = new CreateVaultRequest() { AccountId = "-", VaultName = "*** Provide vault name ***" }; CreateVaultResponse response = client.CreateVault(request);
在指南中的所有低階範例都使用此模式。
注意
在建立請求時,前置程式碼區段指定 AccountId。不過,使用 時 適用於 .NET 的 AWS SDK,請求AccountId中的 是選用的,因此本指南中的所有低階範例都不會設定此值。AccountId 是 AWS 帳戶 ID。此值必須與用來簽署請求的登入資料相關聯的 AWS 帳戶 ID 相符。您可以指定 AWS 帳戶 ID 或選擇性的 '-',在這種情況下,Amazon Glacier 會使用與用來簽署請求之登入資料相關聯的 AWS 帳戶 ID。如果您要指定帳戶 ID,請勿在其中包含任何連字號。使用 時 適用於 .NET 的 AWS SDK,如果您不提供帳戶 ID,程式庫會將帳戶 ID 設定為 '-'。
使用高階 API
為了進一步簡化您的應用程式開發, 適用於 .NET 的 AWS SDK 提供 ArchiveTransferManager類別,可針對低階 API 中的某些方法實作更高層級的抽象。它為封存操作提供有用的方法,例如 Upload 和 Download。
例如,以下 C# 程式碼片段使用 Upload 高階方法來上傳封存。
string vaultName = "examplevault"; string archiveToUpload = "c:\folder\exampleArchive.zip"; var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USEast1); string archiveId = manager.Upload(vaultName, "archive description", archiveToUpload).ArchiveId;
請注意,您執行的任何操作都會套用到您在建立ArchiveTransferManager物件時指定的 AWS 區域。在指南中的所有高階範例都使用此模式。
注意
高階 ArchiveTransferManager 類別仍需要低層 AmazonGlacierClient 用戶端,您可以明確地通過該用戶端或 ArchiveTransferManager 建立用戶端。
執行程式碼範例
開始使用 .NET 程式碼範例的最簡單方式是安裝 適用於 .NET 的 AWS SDK。如需詳細資訊,請前往適用於 .NET 的 Amazon 開發套件
下列程序概述的步驟,讓您可以測試本指南中所提供的程式碼範例。
1 |
建立登入 AWS 資料的登入資料設定檔,如 Amazon SDK for .NET 主題設定 AWS 登入資料中所述。 |
2 |
使用 AWS 空白專案範本建立新的 Visual Studio 專案。 |
3 |
將專案檔 |
4 |
執行程式碼。驗證是使用 AWS 管理主控台來建立物件。如需詳細資訊 AWS 管理主控台,請前往 https://http://aws.amazon.com/console/ |
設定終端節點
根據預設, 適用於 .NET 的 AWS SDK 會將端點設定為美國西部 (奧勒岡) 區域 ()https://glacier.us-west-2.amazonaws.com。您可以將端點設定為其他 AWS 區域,如下列 C# 程式碼片段所示。
以下程式碼片段介紹如何將端點設定為低階 API 中的美國西部 (奧勒岡) 區域 (us-west-2)。
AmazonGlacierClient client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2);
以下程式碼片段介紹如何將端點設定為高階 API 中的美國西部 (奧勒岡) 區域。
var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2);
如需目前支援 AWS 的區域和端點清單,請參閱 存取 Amazon Glacier。