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

了解容器列出选项

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

  • listBlobContainers
  • 此方法的重载提供更多选项用于管理列出操作返回容器的方式。 后续部分将介绍这些选项。

    管理要返回的结果数

    默认情况下,列出操作每次最多返回 5000 个结果。 若要返回更小的结果集,请为要返回的结果页的大小提供非零值。

    使用前缀筛选结果

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

    示例:列出容器

    以下示例列出了容器,并按指定的前缀筛选结果:

    public void listContainers(BlobServiceClient blobServiceClient) { // Set a prefix to filter results based on a specified character or string ListBlobContainersOptions options = new ListBlobContainersOptions() .setPrefix("container-"); System.out.println("List containers:"); for (BlobContainerItem blobContainerItem : blobServiceClient.listBlobContainers(options, null)) { System.out.printf("Container name: %s%n", blobContainerItem.getName());

    还可以通过指定要返回的结果页的大小来返回更小的结果集:

    public void listContainersWithPaging(BlobServiceClient blobServiceClient) { // Set a prefix to filter results and specify a page limit ListBlobContainersOptions options = new ListBlobContainersOptions() .setMaxResultsPerPage(2) // Low number for demonstration purposes .setPrefix("container-"); int i = 0; Iterable<PagedResponse<BlobContainerItem>> blobContainerPages = blobServiceClient .listBlobContainers(options, null).iterableByPage(); for (PagedResponse<BlobContainerItem> page : blobContainerPages) { System.out.printf("Page %d%n", ++i); page.getElements().forEach(container -> { System.out.printf("Name: %s%n", container.getName());

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

    REST API 操作

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

  • 列出容器 (REST API)
  • 查看本文中的代码示例 (GitHub)
  • 客户端库资源

  • 客户端库参考文档
  • 客户端库源代码
  • 包 (Maven)
  • 枚举 Blob 资源
  •