此頁面僅適用於使用 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 儲存類別
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 將封存上傳至 Amazon Glacier 中的保存庫 適用於 .NET 的 AWS SDK
下列 C# 程式碼範例使用 的高階 API, 適用於 .NET 的 AWS SDK 將範例封存上傳至保存庫。在程式碼範例中,請注意下列事項:
-
此範例會為指定的 Amazon Glacier 區域端點建立
ArchiveTransferManager類別的執行個體。 -
此程式碼範例使用美國西部 (奧勒岡) 區域 (
us-west-2)。 -
本範例使用
ArchiveTransferManager類別的UploadAPI 作業以上傳封存。對於小型封存,此操作會將封存直接上傳至 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(); } } }