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:
- Výpis kontejnerů (REST API)