使用 .NET 列出 Blob 容器
通过代码列出 Azure 存储帐户中的容器时,可以指定多个选项来管理如何从 Azure 存储返回结果。 本文介绍如何使用适用于 .NET 的 Azure 存储客户端库列出容器。
先决条件
- 本文假设已经设置了项目来使用适用于 .NET 的 Azure Blob 存储客户端库。 要了解有关设置项目的信息,包括包安装、添加
using
指令和创建授权客户端对象,请参阅开始使用 Azure Blob 存储和 .NET。 - 授权机制必须具有列出 blob 容器的权限。 要了解详细信息,请参阅以下 REST API 操作的授权指南:
关于容器列出选项
通过代码列出容器时,可以指定选项来管理如何从 Azure 存储返回结果。 可以指定要在每个结果集中返回的结果数,然后检索后续结果集。 还可以按前缀筛选结果,并将容器元数据与结果一起返回。 后续部分将介绍这些选项。
若要列出存储帐户中的容器,请调用以下方法之一:
这些方法返回 BlobContainerItem 对象的列表。 容器按名称的字典顺序排序。
管理要返回的结果数
默认情况下,列表操作一次最多返回 5000 个结果,但你可以指定你所希望的每个列表操作返回的结果数。 本文演示的示例说明了如何在页面中返回结果。 要详细了解分页概念,请参阅使用适用于 .NET 的 Azure SDK 进行分页。
使用前缀筛选结果
若要筛选容器列表,请为 prefix
参数指定一个字符串。 前缀字符串可以包含一个或多个字符。 然后,Azure 存储只返回其名称以该前缀开头的容器。
包含容器元数据
若要在结果中包含容器元数据,请为 BlobContainerTraits 枚举指定 Metadata
值。 Azure 存储包含返回的每个容器的元数据,因此你不需要单独提取容器元数据。
包含已删除的容器
若要在结果中包含软删除的容器,请为 BlobContainerStates 枚举指定 Deleted
值。
代码示例:列出容器
以下示例以异步方式列出存储帐户中以指定的前缀开头的容器。 该示例列出了以指定前缀开头的容器,并且每次对列表操作的调用均返回指定数量的结果。 然后,它使用延续令牌获取下一段结果。 该示例还会连同结果一起返回容器元数据。
async static Task ListContainers(BlobServiceClient blobServiceClient,
string prefix,
int? segmentSize)
{
try
{
// Call the listing operation and enumerate the result segment.
var resultSegment =
blobServiceClient.GetBlobContainersAsync(BlobContainerTraits.Metadata, prefix, default)
.AsPages(default, segmentSize);
await foreach (Azure.Page<BlobContainerItem> containerPage in resultSegment)
{
foreach (BlobContainerItem containerItem in containerPage.Values)
{
Console.WriteLine("Container name: {0}", containerItem.Name);
}
Console.WriteLine();
}
}
catch (RequestFailedException e)
{
Console.WriteLine(e.Message);
Console.ReadLine();
throw;
}
}
资源
若要详细了解如何使用适用于 .NET 的 Azure Blob 存储客户端库来列出容器,请参阅以下资源。
REST API 操作
Azure SDK for .NET 包含基于 Azure REST API 而生成的库,允许你通过熟悉的 .NET 范例与 REST API 操作进行交互。 用于列出容器的客户端库方法使用以下 REST API 操作:
- 列出容器 (REST API)