使用适用于 .NET 的 Amazon SDK 在 Amazon Glacier 中检索文件库元数据 - Amazon Glacier
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

此页面仅适用于使用文件库和 2012 年原始 REST API 的 Amazon Glacier 服务的现有客户。

如果您正在寻找归档存储解决方案,建议使用 Amazon S3 中的 Amazon Glacier 存储类别 S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive。要了解有关这些存储选项的更多信息,请参阅 Amazon Glacier 存储类别

从 2025 年 12 月 15 日起,Amazon Glacier(最初基于独立文件库的服务)将不再接受新客户,对现有客户不存在任何影响。Amazon Glacier 是一项独立服务,拥有自己的 API,可将数据存储在文件库中,与 Amazon S3 和 Amazon S3 Glacier 存储类别不同。在 Amazon Glacier 中,您现有的数据将确保安全,并且可以无限期地访问。无需进行迁移。对于低成本、长期的存档存储,Amazon 建议使用 Amazon S3 Glacier 存储类别,该类别可通过基于 S3 存储桶的 API、完全的 Amazon Web Services 区域可用性、更低的成本和 Amazon 服务集成,提供卓越的客户体验。如果您希望加强功能,可以考虑使用我们的 Amazon 将数据从 Amazon Glacier 文件库传输到 Amazon S3 Glacier 存储类别的解决方案指南,迁移到 Amazon S3 Glacier 存储类别。

使用适用于 .NET 的 Amazon SDK 在 Amazon Glacier 中检索文件库元数据

检索文件库的文件库元数据

您可以检索特定文件库或特定 Amazon 区域所有文件库的元数据。以下是使用适用于 .NET 的 Amazon SDK 低级 API 检索特定文件库的文件库元数据的步骤。

  1. 创建 AmazonGlacierClient 类(客户端)的实例。

    您需要指定文件库所在的 Amazon 区域。您使用此客户端执行的所有操作都会应用到该 Amazon 区域。

  2. 通过创建一个 DescribeVaultRequest 类的实例提供请求信息。

    Amazon Glacier(Amazon Glacier)要求您提供文件库名称和您的账户 ID。如果您不提供账户 ID,则系统会使用与您提供来对请求签名的证书相关联的账户 ID。有关更多信息,请参阅将适用于 .NET 的 Amazon SDK 与 Amazon Glacier 结合使用

  3. 以参数形式提供请求对象,运行 DescribeVault 方法。

    Amazon Glacier 返回的文件库元数据信息在 DescribeVaultResult 对象中提供。

以下 C# 代码段说明了前面的步骤。此代码段检索美国西部(俄勒冈州)区域中现有文件库的元数据信息。

AmazonGlacierClient client; client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2); DescribeVaultRequest describeVaultRequest = new DescribeVaultRequest() { VaultName = "*** Provide vault name ***" }; DescribeVaultResponse describeVaultResponse = client.DescribeVault(describeVaultRequest); Console.WriteLine("\nVault description..."); Console.WriteLine( "\nVaultName: " + describeVaultResponse.VaultName + "\nVaultARN: " + describeVaultResponse.VaultARN + "\nVaultCreationDate: " + describeVaultResponse.CreationDate + "\nNumberOfArchives: " + describeVaultResponse.NumberOfArchives + "\nSizeInBytes: " + describeVaultResponse.SizeInBytes + "\nLastInventoryDate: " + describeVaultResponse.LastInventoryDate );

注意

有关底层 REST API 的信息,请参阅描述文件库(GET vault)

检索一个区域所有文件库的文件库元数据

此外,您还可以使用 ListVaults 方法来检索特定 Amazon 区域所有文件库的元数据。

以下 C# 代码段检索美国西部(俄勒冈州)区域中的文件库的列表。该请求会将响应中返回的文件库数限制为 5 个。然后,该代码段会进行一系列 ListVaults 调用,以从 Amazon 区域检索整个文件库列表。

AmazonGlacierClient client; client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2); string lastMarker = null; Console.WriteLine("\n List of vaults in your account in the specific Amazon Region ..."); do { ListVaultsRequest request = new ListVaultsRequest() { Limit = 5, Marker = lastMarker }; ListVaultsResponse response = client.ListVaults(request); foreach (DescribeVaultOutput output in response.VaultList) { Console.WriteLine("Vault Name: {0} \tCreation Date: {1} \t #of archives: {2}", output.VaultName, output.CreationDate, output.NumberOfArchives); } lastMarker = response.Marker; } while (lastMarker != null);

在前面的代码段中,如果您在请求中未指定 Limit 值,则 Amazon Glacier 最多返回 Amazon Glacier API 设置的 10 个文件库。

请注意,列表中返回的每个文件库的信息与您通过调用特定文件库的 DescribeVault 方法获取的信息相同。

注意

ListVaults 方法会调用底层 REST API(请参阅列出文件库(GET vaults))。

示例:使用适用于 .NET 的 Amazon SDK 低级 API 检索文件库元数据

有关工作代码示例,请参阅示例:使用适用于 .NET 的 Amazon SDK 低级 API 进行文件库操作。该 C# 代码示例会创建文件库并检索文件库元数据。