Glacier
开发人员指南 (API 版本 2012-06-01)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

在 Glacier 中使用适用于 .NET 的 AWS 开发工具包

AWSSDK.dll 中提供适用于 .NET 的 AWS 开发工具包 API。有关如何下载适用于 .NET 的 AWS 开发工具包的信息,请参阅示例代码库。如在 Glacier 中使用 AWS 开发工具包中所述,适用于 .NET 的 AWS 开发工具包提供高级和低级 API。

注意

低级 API 和高级 API 提供线程安全客户端来访问 Glacier。您的应用程序应创建一个客户端并在线程之间重复使用此客户端,您应将此作为一项最佳实践。

使用低级 API

低级 AmazonGlacierClient 类提供了映射到 Glacier 的底层 REST 操作的所有方法(Glacier 的 API 参考)。调用这些方法中的任何方法时,您必须创建相应的请求对象,并提供响应对象,所调用的方法可以在响应对象中向操作返回 Glacier 响应。

例如,AmazonGlacierClient 类提供了 CreateVault 方法来创建文件库。此方法会映射到底层的创建文件库 REST 操作(请参阅“创建文件库(设置文件库)”)。要使用此方法,您必须创建 CreateVaultRequestCreateVaultResponse 类的实例,以提供请求信息和接收 Glacier 响应,如以下 C# 代码段所示:

AmazonGlacierClient client; client = new AmazonGlacierClient(Amazon.RegionEndpoint.USEast1); CreateVaultRequest request = new CreateVaultRequest() { AccountId = "-", VaultName = "*** Provide vault name ***" }; CreateVaultResponse response = client.CreateVault(request);

指南中的所有低级示例都使用了此模式。

注意

在创建请求时,前面的代码段会指定 AccountId。但是,在使用适用于 .NET 的 AWS 开发工具包时,请求中的 AccountId 是可选的,因此,本指南中的所有低级示例都未设置此值。AccountId 为 AWS 账户 ID。此值必须与用来对请求签名的证书相关联的 AWS 账户 ID 相匹配。您可以指定 AWS 账户 ID,或者选择指定“-”,在后一种情况下,Glacier 使用与请求签名证书关联的 AWS 账户 ID。如果您指定您的账户 ID,请勿在其中包括连字符。使用适用于 .NET 的 AWS 开发工具包时,如果您未提供账户 ID,则库将账户 ID 设置为“-”。

使用高级 API

为了进一步简化应用程序开发,适用于 .NET 的 AWS 开发工具包提供了 ArchiveTransferManager 类,该类为低级 API 中的某些方法实现更高级的抽象。它为档案操作提供了有用的方法,例如 UploadDownload

例如,以下 C# 代码段使用了 Upload 高级方法来上传档案。

string vaultName = "examplevault"; string archiveToUpload = "c:\folder\exampleArchive.zip"; var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USEast1); string archiveId = manager.Upload(vaultName, "archive description", archiveToUpload).ArchiveId;

请注意,您执行的任何操作都会应用到您在创建 ArchiveTransferManager 数据元时指定的区域。此指南中的所有高级示例都使用了此模式。

注意

高级 ArchiveTransferManager 类仍然需要低级 AmazonGlacierClient 客户端,您可以显式传递该客户端或者让 ArchiveTransferManager 创建该客户端。

运行代码示例

入门 .NET 代码示例的最简单方式是安装 适用于 .NET 的 AWS 开发工具包。有关更多信息,请参阅适用于 .NET 的 AWS 开发工具包

以下过程为您概述了测试此指南中提供的代码示例的步骤。

创建 .NET 代码示例的一般流程(使用 Visual Studio)

1

为 AWS 凭证创建凭证配置,如适用于 .NET 的 AWS 开发工具包主题配置 AWS 凭证所述。

2

使用 AWS 空项目 模板创建新的 Visual Studio 项目。

3

将项目文件 Program.cs 中的代码替换为您正在阅读的部分中的代码。

4

运行该代码。验证是否使用 AWS 管理控制台创建了对象。有关 AWS 管理控制台的更多信息,请转到 http://www.amazonaws.cn/console/

设置终端节点

默认情况下,适用于 .NET 的 AWS 开发工具包将终端节点设置为美国西部(俄勒冈)区域 (https://glacier.us-west-2.amazonaws.com.cn)。您可以将终端节点设置为其他区域,如以下 C# 代码段所示。

以下代码段说明如何使用低级 API 将终端节点设置为 美国西部(俄勒冈) 区域 (us-west-2)。

AmazonGlacierClient client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2);

以下代码段显示了如何使用高级 API 将终端节点设置为 美国西部(俄勒冈) 区域。

var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2);

有关支持的区域和终端节点的最新列表,请参阅访问 Amazon S3 Glacier