Auflisten von Blobcontainern mit Java
Wenn Sie die Container in einem Azure Storage-Konto über Code auflisten, können Sie verschiedene Optionen angeben, um zu steuern, wie die Ergebnisse von Azure Storage zurückgegeben werden. In diesem Artikel wird beschrieben, wie Container mit der Azure Storage-Clientbibliothek für Java aufgelistet werden.
Voraussetzungen
- In diesem Artikel wird davon ausgegangen, dass Sie bereits ein Projekt für die Arbeit mit der Azure Blob Storage-Clientbibliothek für Java eingerichtet haben. Informationen zum Einrichten Ihres Projekts, einschließlich der Paketinstallation, dem Hinzufügen von
import
-Anweisungen und dem Erstellen eines autorisierten Clientobjekts, finden Sie unter Erste Schritte mit Azure Storage und Java. - Der Autorisierungsmechanismus muss über Berechtigungen zum Auflisten von Blobcontainern verfügen. Weitere Informationen finden Sie im Autorisierungsleitfaden für die folgenden REST-API-Vorgänge:
Zu Containerauflistungsoptionen
Wenn Sie Container über Ihren Code auflisten, können Sie Optionen angeben, um zu steuern, wie Ergebnisse von Azure Storage zurückgegeben werden. Sie können die Anzahl der Ergebnisse festlegen, die in den einzelnen Ergebnissätzen zurückgegeben werden sollen, und dann die nachfolgenden Sätze abrufen. Sie können die Ergebnisse auch nach einem Präfix filtern und Containermetadaten mit den Ergebnissen zurückgeben. Diese Optionen sind in den folgenden Abschnitten beschrieben.
Rufen Sie zum Auflisten von Containern in einem Speicherkonto die folgende Methode auf:
Diese Methode gibt einen Iterable-Wert vom Typ BlobContainerItem zurück. Container werden lexikalisch nach Namen sortiert.
Festlegen der Anzahl der zurückgegebenen Ergebnisse
Standardmäßig werden durch einen einzelnen Auflistungsvorgang bis zu 5.000 Ergebnisse zurückgegeben. Wenn Sie einen kleineren Ergebnissatz wünschen, geben Sie einen Wert ungleich NULL für die Größe der zurückzugebenden Ergebnisseite an. Sie können diesen Wert mit der folgenden Methode festlegen:
Die Beispiele in diesem Artikel zeigen Ihnen, wie Ergebnisse in Seiten zurückgegeben werden. Weitere Informationen zu Paginierungskonzepten finden Sie unter Paginierung mit dem Azure SDK für Java.
Filtern von Ergebnissen mit einem Präfix
Um die Liste der Container zu filtern, geben Sie für den prefix
-Parameter eine Zeichenfolge an. Die Präfixzeichenfolge kann ein oder mehrere Zeichen enthalten. Azure Storage gibt dann nur die Container zurück, deren Namen mit diesem Präfix beginnen. Sie können diesen Wert mit der folgenden Methode festlegen:
Containermetadaten einschließen
Um Containermetadaten in die Ergebnisse einzuschließen, erstellen Sie eine BlobContainerListDetails
Instanz, und übergeben true
Sie sie an die folgende Methode:
Übergeben Sie dann das BlobContainerListDetails
Objekt an die folgende Methode:
Einschließen gelöschter Container
Um vorläufig gelöschte Container in den Ergebnissen einzuschließen, erstellen Sie eine BlobContainerListDetails
Instanz, und übergeben true
Sie sie an die folgende Methode:
Übergeben Sie dann das BlobContainerListDetails
Objekt an die folgende Methode:
Codebeispiele
Im folgenden Beispiel werden Container aufgelistet und die Ergebnisse nach einem angegebenen Präfix gefiltert:
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());
}
}
Sie können auch einen kleineren Ergebnisssatz zurückgeben, indem Sie die Größe der Ergebnisseite angeben, die zurückgegeben werden soll:
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());
});
}
}
Ressourcen
Weitere Informationen zum Auflisten von Containern mithilfe der Azure Blob Storage-Clientbibliothek für Java finden Sie in den folgenden Ressourcen.
Codebeispiele
REST-API-Vorgänge
Das SDK für Java enthält Bibliotheken, die auf der zugrunde liegenden Azure-REST-API basieren, und ermöglicht Ihnen dadurch die Interaktion mit REST-API-Vorgängen über vertraute Java-Paradigmen. Die Methoden der Clientbibliothek zum Auflisten von Containern verwenden den folgenden REST-API-Vorgang:
- List Containers (REST-API)
Ressourcen zur Clientbibliothek
Weitere Informationen
Nächster Schritt
- Dieser Artikel ist Teil des Blob Storage-Entwicklerleitfadens für Java. Die vollständige Liste der Artikel im Entwicklerleitfaden finden Sie unter Erstellen Ihrer App.