使用在 Amazon S3 Glacier 中将档案上传到文件库Amazon SDK for .NET - Amazon S3 Glacier
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用在 Amazon S3 Glacier 中将档案上传到文件库Amazon SDK for .NET

以下 C# 代码示例使用Amazon SDK for .NET高级 API 将示例档案上传到文件库。在代码示例中,请注意以下情况:

  • 以下示例创建ArchiveTransferManager类对应指定 Amazon S3 Glacier (S3 Glacier) 区域终端节点。

  • 以下代码示例使用美国西部(俄勒冈)区域 (us-west-2) 以匹配您之前在中创建文件库的位置。第 2 步:在 Amazon S3 Glacier 中创建文件库

  • 该示例使用 Upload 类的 ArchiveTransferManager 方法上传档案。对于小型档案,此方法会将档案直接上传到 S3 Glacier。对于大型档案,此方法将使用 S3 Glacier 中的分段上传 API 将上传内容拆分为多个部分,以便在将数据流式传输到 S3 Glacier 时出错。

有关如何运行以下示例的分步说明,请参阅“运行代码示例”。您需要更新文件库名称和待上传档案文件名称旁显示的代码。

注意

S3 Glacier 在文件库中保留一份所有档案的清单。当您上传以下示例中的档案时,该档案直到文件库清单已更新后才会在管理控制台的文件库中显示。此更新通常每天进行一次。

例 — 使用高级 API 上传档案Amazon SDK for .NET

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(); } } }