使用 將封存上傳至 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

下列 C# 程式碼範例使用 的高階 API, 適用於 .NET 的 AWS SDK 將範例封存上傳至保存庫。在程式碼範例中,請注意下列事項:

  • 此範例會為指定的 Amazon Glacier 區域端點建立 ArchiveTransferManager類別的執行個體。

  • 此程式碼範例使用美國西部 (奧勒岡) 區域 (us-west-2)。

  • 本範例使用 ArchiveTransferManager 類別的 Upload API 作業以上傳封存。對於小型封存,此操作會將封存直接上傳至 Amazon Glacier。對於較大的封存,如果在將資料串流至 Amazon Glacier 時遇到任何錯誤,此操作會使用 Amazon Glacier 中的分段上傳 API 操作將上傳分割為多個部分,以獲得更好的錯誤復原。

如需如何執行下列範例的逐步說明,請參閱 執行程式碼範例您必須更新程式碼,如所示的保存庫名稱和要上傳的封存檔案的名稱。

注意

Amazon Glacier 會保留保存庫中所有封存的庫存。當您上傳下列範例中的封存時,直到保存庫庫存更新前,封存都不會顯示在管理主控台的保存庫中。此更新通常一天執行一次。

範例 — 使用 的高階 API 上傳封存 適用於 .NET 的 AWS SDK
using System; using Amazon.Glacier; using Amazon.Glacier.Transfer; using Amazon.Runtime; namespace glacier.amazon.com.rproxy.govskope.ca.docsamples { class ArchiveUploadHighLevel_GettingStarted { static string vaultName = "examplevault"; static string archiveToUpload = "*** Provide file name (with full path) to upload ***"; public static void Main(string[] args) { try { var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2); // Upload an archive. string archiveId = manager.Upload(vaultName, "getting started archive test", archiveToUpload).ArchiveId; Console.WriteLine("Copy and save the following Archive ID for the next step."); Console.WriteLine("Archive ID: {0}", archiveId); Console.WriteLine("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(); } } }