Sdílet prostřednictvím


Výpis kontejnerů objektů blob pomocí Javy

Když vypíšete kontejnery v účtu Azure Storage z kódu, můžete zadat několik možností pro správu způsobu vrácení výsledků ze služby Azure Storage. Tento článek ukazuje, jak vypsat kontejnery pomocí klientské knihovny Azure Storage pro Javu.

Požadavky

  • Tento článek předpokládá, že už máte projekt nastavený tak, aby fungoval s klientskou knihovnou služby Azure Blob Storage pro Javu. Další informace o nastavení projektu, včetně instalace balíčku, přidání import direktiv a vytvoření autorizovaného objektu klienta, najdete v tématu Začínáme se službou Azure Storage a Javou.
  • Autorizační mechanismus musí mít oprávnění k výpisu kontejnerů objektů blob. Další informace najdete v pokynech k autorizaci pro následující operaci rozhraní REST API:

O možnostech výpisu kontejnerů

Při výpisu kontejnerů z kódu můžete zadat možnosti pro správu způsobu vrácení výsledků ze služby Azure Storage. Můžete zadat počet výsledků, které se mají vrátit v každé sadě výsledků, a pak načíst následující sady. Výsledky můžete také filtrovat podle předpony a vrátit metadata kontejneru s výsledky. Tyto možnosti jsou popsány v následujících částech.

Pokud chcete vypsat kontejnery v účtu úložiště, zavolejte následující metodu:

Tato metoda vrátí iterable typu BlobContainerItem. Kontejnery jsou seřazené lexicicky podle názvu.

Správa počtu vrácených výsledků

Ve výchozím nastavení vrátí operace výpisu najednou až 5 000 výsledků. Pokud chcete vrátit menší sadu výsledků, zadejte nenulovou hodnotu pro velikost stránky výsledků, která se má vrátit. Tuto hodnotu můžete nastavit pomocí následující metody:

Příklady uvedené v tomto článku ukazují, jak vrátit výsledky na stránkách. Další informace o konceptech stránkování najdete v tématu Stránkování pomocí sady Azure SDK pro Javu.

Filtrování výsledků pomocí předpony

Pokud chcete filtrovat seznam kontejnerů, zadejte řetězec pro prefix parametr. Řetězec předpony může obsahovat jeden nebo více znaků. Azure Storage pak vrátí pouze kontejnery, jejichž názvy začínají danou předponou. Tuto hodnotu můžete nastavit pomocí následující metody:

Zahrnout metadata kontejneru

Pokud chcete do výsledků zahrnout metadata kontejneru, vytvořte BlobContainerListDetails instanci a předejte true ji následující metodě:

Pak předejte BlobContainerListDetails objekt následující metodě:

Zahrnutí odstraněných kontejnerů

Pokud chcete do výsledků zahrnout obnovitelné odstraněné kontejnery, vytvořte BlobContainerListDetails instanci a předejte true ji následující metodě:

Pak předejte BlobContainerListDetails objekt následující metodě:

Příklady kódu

Následující příklad uvádí kontejnery a filtruje výsledky podle zadané předpony:

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());
    }
}

Můžete také vrátit menší sadu výsledků zadáním velikosti stránky výsledků, která se má vrátit:

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());
        });
    }
}

Zdroje informací

Další informace o výpisu kontejnerů pomocí klientské knihovny Azure Blob Storage pro Javu najdete v následujících zdrojích informací.

Operace rozhraní REST API

Sada Azure SDK pro Javu obsahuje knihovny, které jsou postavené na rozhraní Azure REST API a umožňují interakci s operacemi rozhraní REST API prostřednictvím známých paradigmat Javy. Metody klientské knihovny pro výpis kontejnerů používají následující operaci rozhraní REST API:

Ukázky kódu

Prostředky klientské knihovny

Viz také