如果您不熟悉 Amazon Simple Storage Service (Amazon S3) 中的封存儲存,建議您從深入了解 Amazon S3 中的 S3 Glacier 儲存類別、S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive 開始。如需詳細資訊,請參閱 Amazon S3 使用者指南中的 S3 Glacier 儲
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 AWS SDK for .NET 將封存上傳至 S3 Glacier 中的文件庫
以下 C# 程式碼範例使用 AWS SDK for .NET 的高階 API 將範例存檔上傳到文件庫。在程式碼範例中,請注意下列事項:
-
此範例會為指定的 Amazon S3 Glacier 區域端點建立
ArchiveTransferManager
類別的執行個體。 -
此程式碼範例使用美國西部 (奧勒岡) 區域 (
us-west-2
)。 -
本範例使用
ArchiveTransferManager
類別的Upload
API 操作以上傳封存。對於較小的封存,這個操作會將封存直接上傳到 S3 Glacier。對於較大的封存,此操作使用 S3 Glacier 的分段上傳 API 操作,將上傳分割成多個部分,一旦在將資料串流到 S3 Glacier 時遇到任何錯誤,可以更好地進行錯誤復原。
如需如何執行下列範例的逐步說明,請參閱 執行程式碼範例。您必須更新程式碼,如所示的文件庫名稱和要上傳的封存檔案的名稱。
注意
S3 Glacier 會在文件庫中保存所有封存的庫存。當您上傳下列範例中的封存時,直到文件庫庫存更新前,封存都不會顯示在管理主控台的文件庫中。此更新通常一天執行一次。
範例 :使用 AWS SDK for .NET 的高階 API 上傳封存
using System; using Amazon.Glacier; using Amazon.Glacier.Transfer; using Amazon.Runtime; namespace glacier.amazon.com.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(); } } }