Compartir a través de

使用 JavaScript 或 TypeScript 列出 Blob 容器

通过代码列出 Azure 存储帐户中的容器时,可以指定多个选项来管理如何从 Azure 存储返回结果。 本文介绍如何使用适用于 JavaScript 的 Azure 存储客户端库列出容器。

先决条件

  • 本文中的示例假设你已经设置了一个项目来使用适用于 JavaScript 的 Azure Blob 存储客户端库。 若要了解如何设置项目(包括安装包、导入模块,以及创建授权客户端对象来使用数据资源),请参阅开始使用 Azure Blob 存储和 JavaScript
  • 授权机制必须具有列出 blob 容器的权限。 要了解详细信息,请参阅以下 REST API 操作的授权指南:

关于容器列出选项

通过代码列出容器时,可以指定选项来管理如何从 Azure 存储返回结果。 可以指定要在每个结果集中返回的结果数,然后检索后续结果集。 还可以按前缀筛选结果,并将容器元数据与结果一起返回。 后续部分将介绍这些选项。

若要列出存储帐户中的容器,请调用以下方法:

此方法返回 ContainerItem 对象的列表。 容器按名称的字典顺序排序。

管理要返回的结果数

默认情况下,列表操作一次最多返回 5000 个结果,但你可以指定你所希望的每个列表操作返回的结果数。 本文演示的示例说明了如何在页面中返回结果。

使用前缀筛选结果

若要筛选容器列表,请在 ServiceListContainersOptions 中为 prefix 参数指定一个字符串。 前缀字符串可以包含一个或多个字符。 然后,Azure 存储只返回其名称以该前缀开头的容器。

包含容器元数据

若要将容器元数据包含在结果中,请在 ServiceListContainersOptions 中将 includeMetadata 参数设置为 true。 Azure 存储包含返回的每个容器的元数据,因此你不需要单独提取容器元数据。

包含已删除的容器

若要将软删除的容器包含在结果中,请在 ServiceListContainersOptions 中设置 includeDeleted 参数。

代码示例:列出容器

以下示例以异步方式列出存储帐户中以指定的前缀开头的容器。 该示例列出了以指定前缀开头的容器,并且每次对列表操作的调用均返回指定数量的结果。 然后,它使用延续令牌获取下一段结果。 该示例还会连同结果一起返回容器元数据。

async function listContainers(blobServiceClient, containerNamePrefix) {

  const options = {
    includeDeleted: false,
    includeMetadata: true,
    includeSystem: true,
    prefix: containerNamePrefix
  }

  console.log("Containers (by page):");
  for await (const response of blobServiceClient.listContainers(options).byPage({
    maxPageSize: 20,
  })) {
    console.log("- Page:");
    if (response.containerItems) {
      for (const container of response.containerItems) {
        console.log(`  - ${container.name}`);
      }
    }
  }
}

资源

若要详细了解如何使用适用于 JavaScript 的 Azure Blob 存储客户端库来列出容器,请参阅以下资源。

REST API 操作

Azure SDK for JavaScript 包含基于 Azure REST API 而生成的库,允许你通过熟悉的 JavaScript 范例与 REST API 操作进行交互。 用于列出容器的客户端库方法使用以下 REST API 操作:

代码示例

客户端库资源

另请参阅

客户端库资源