使用 在 Amazon Glacier 中建立保存庫 適用於 .NET 的 AWS SDK - Amazon Glacier

此頁面僅適用於使用 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 儲存類別,透過 S3 儲存貯體型 APIs、完整 AWS 區域 可用性、降低成本 AWS 和服務整合,提供卓越的客戶體驗。如果您想要增強功能,請考慮使用我們的解決方案指南,將資料從 Amazon S3 Glacier 保存庫傳輸至 Amazon S3 Glacier 儲存類別,以遷移至 Amazon S3 Glacier 儲存類別。 AWS Amazon Glacier Amazon S3

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

使用 在 Amazon Glacier 中建立保存庫 適用於 .NET 的 AWS SDK

適用於 .NET 的 Amazon 開發套件提供的高階和低階 API 都提供了保存庫的建立方法。

使用 適用於 .NET 的 AWS SDK的高階 API 建立保存庫

高階 API 的 ArchiveTransferManager 類別提供可用於在 AWS 區域中建立保存庫的 CreateVault 方法。

範例:使用 的高階 API 進行保存庫操作 適用於 .NET 的 AWS SDK

以下 C# 程式碼範例建立和刪除美國西部 (奧勒岡) 區域中的保存庫。如需您可以在 AWS 區域 其中建立保存庫的清單,請參閱 存取 Amazon Glacier

如需如何執行下列範例的逐步說明,請參閱 執行程式碼範例。您需要更新所示具有保管庫名稱的程式碼。

using System; using Amazon.Glacier; using Amazon.Glacier.Transfer; using Amazon.Runtime; namespace glacier.amazon.com.rproxy.govskope.ca.docsamples { class VaultCreateDescribeListVaultsDeleteHighLevel { static string vaultName = "*** Provide vault name ***"; public static void Main(string[] args) { try { var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2); manager.CreateVault(vaultName); Console.WriteLine("Vault created. To delete the vault, press Enter"); Console.ReadKey(); manager.DeleteVault(vaultName); Console.WriteLine("\nVault deleted. To continue, press Enter"); Console.ReadKey(); } catch (AmazonGlacierException e) { Console.WriteLine(e.Message); } catch (AmazonServiceException e) { Console.WriteLine(e.Message); } catch (Exception e) { Console.WriteLine(e.Message); } Console.WriteLine("To continue, press Enter"); Console.ReadKey(); } } }

使用 的低階 API 建立保存庫 適用於 .NET 的 AWS SDK

低階 API 提供所有保存庫操作的方法,包括建立和刪除保存庫、取得保存庫描述,以及取得在特定 中建立的保存庫清單 AWS 區域。以下是使用 適用於 .NET 的 AWS SDK建立保存庫的步驟。

  1. 建立 AmazonGlacierClient 類別的執行個體 (用戶端)。

    您需要指定要在 AWS 區域 其中建立保存庫的 。所有您使用此用戶端執行的作業均會套用到該 AWS 區域。

  2. 您可以透過建立 CreateVaultRequest 類別的執行個體來提供請求資訊。

    Amazon Glacier (Amazon Glacier) 要求您提供保存庫名稱和帳戶 ID。如果您不提供帳戶 ID,則會使用與您提供來簽署請求之登入資料關聯的帳戶 ID。如需詳細資訊,請參閱適用於 .NET 的 AWS SDK 搭配 Amazon Glacier 使用

  3. 以參數形式提供請求物件,以便執行 CreateVault 方法。

    Amazon Glacier 傳回的回應可在 CreateVaultResponse 物件中使用。

範例:使用 的低階 API 的保存庫操作 適用於 .NET 的 AWS SDK

下列 C# 範例描述前述步驟。此範例在美國西部 (奧勒岡) 區域建立保存庫。此外,程式碼範例會擷取保存庫資訊、列出相同 中的所有保存庫 AWS 區域,然後刪除建立的保存庫。Location 列印的 是保存庫的相對 URI,其中包含您的帳戶 ID AWS 區域、 和保存庫名稱。

注意

如需基礎 REST API 的資訊,請參閱 建立保存庫 (PUT 保存庫)

如需如何執行下列範例的逐步說明,請參閱 執行程式碼範例。您需要更新所示具有保管庫名稱的程式碼。

using System; using Amazon.Glacier; using Amazon.Glacier.Model; using Amazon.Runtime; namespace glacier.amazon.com.rproxy.govskope.ca.docsamples { class VaultCreateDescribeListVaultsDelete { static string vaultName = "*** Provide vault name ***"; static AmazonGlacierClient client; public static void Main(string[] args) { try { using (client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2)) { Console.WriteLine("Creating a vault."); CreateAVault(); DescribeVault(); GetVaultsList(); Console.WriteLine("\nVault created. Now press Enter to delete the vault..."); Console.ReadKey(); DeleteVault(); } } catch (AmazonGlacierException e) { Console.WriteLine(e.Message); } catch (AmazonServiceException e) { Console.WriteLine(e.Message); } catch (Exception e) { Console.WriteLine(e.Message); } Console.WriteLine("To continue, press Enter"); Console.ReadKey(); } static void CreateAVault() { CreateVaultRequest request = new CreateVaultRequest() { VaultName = vaultName }; CreateVaultResponse response = client.CreateVault(request); Console.WriteLine("Vault created: {0}\n", response.Location); } static void DescribeVault() { DescribeVaultRequest describeVaultRequest = new DescribeVaultRequest() { VaultName = vaultName }; DescribeVaultResponse describeVaultResponse = client.DescribeVault(describeVaultRequest); Console.WriteLine("\nVault description..."); Console.WriteLine( "\nVaultName: " + describeVaultResponse.VaultName + "\nVaultARN: " + describeVaultResponse.VaultARN + "\nVaultCreationDate: " + describeVaultResponse.CreationDate + "\nNumberOfArchives: " + describeVaultResponse.NumberOfArchives + "\nSizeInBytes: " + describeVaultResponse.SizeInBytes + "\nLastInventoryDate: " + describeVaultResponse.LastInventoryDate ); } static void GetVaultsList() { string lastMarker = null; Console.WriteLine("\n List of vaults in your account in the specific region ..."); do { ListVaultsRequest request = new ListVaultsRequest() { Marker = lastMarker }; ListVaultsResponse response = client.ListVaults(request); foreach (DescribeVaultOutput output in response.VaultList) { Console.WriteLine("Vault Name: {0} \tCreation Date: {1} \t #of archives: {2}", output.VaultName, output.CreationDate, output.NumberOfArchives); } lastMarker = response.Marker; } while (lastMarker != null); } static void DeleteVault() { DeleteVaultRequest request = new DeleteVaultRequest() { VaultName = vaultName }; DeleteVaultResponse response = client.DeleteVault(request); } } }