Freigeben über


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.

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:

Codebeispiele

Ressourcen zur Clientbibliothek

Weitere Informationen