Condividi tramite


Elencare i contenitori BLOB con Java

Quando si elencano i contenitori BLOB in un account di Archiviazione di Azure tramite il codice, è possibile specificare diverse opzioni per gestire il modo in cui i risultati vengono restituiti da Archiviazione di Azure. Questo articolo illustra come elencare i contenitori usando la libreria client di Archiviazione di Azure per Java.

Prerequisiti

  • Questo articolo presuppone che sia già stato configurato un progetto per l'uso con la libreria client di Archiviazione BLOB di Azure per Java. Per informazioni sulla configurazione del progetto, incluse l'installazione del pacchetto, l'aggiunta di direttive import e la creazione di un oggetto client autorizzato, vedere Introduzione ad Archiviazione di Azure e Java.
  • Il meccanismo di autorizzazione deve disporre delle autorizzazioni per elencare i contenitori BLOB. Per altre informazioni, vedere le linee guida per l'autorizzazione per l'operazione API REST seguente:

Informazioni sulle opzioni di elenco dei contenitori

Quando si elencano i contenitori tramite il codice, è possibile specificare diverse opzioni per gestire il modo in cui i risultati vengono restituiti da Archiviazione di Azure. È possibile specificare il numero di risultati da restituire in ogni set di risultati e quindi recuperare i set successivi. È anche possibile filtrare i risultati in base a un prefisso e restituire i metadati del contenitore insieme ai risultati. Le opzioni disponibili sono descritte nelle sezioni seguenti.

Per elencare i contenitori in un account di archiviazione, chiamare il metodo seguente:

Questo metodo restituisce un oggetto iterabile di tipo BlobContainerItem. I contenitori vengono elencati in ordine lessicografico in base al nome.

Gestire il numero di risultati restituiti

Per impostazione predefinita, un'operazione di elenco restituisce fino a 5.000 risultati alla volta. Per restituire un set di risultati più piccolo, specificare un valore diverso da zero per le dimensioni della pagina dei risultati da restituire. È possibile impostare questo valore usando il metodo seguente:

Gli esempi presentati in questo articolo illustrano come restituire i risultati nelle pagine. Per altre informazioni sui concetti relativi alla paginazione, vedere Paginazione in Azure SDK per Java.

Filtrare i risultati con un prefisso

Per filtrare l'elenco dei contenitori, specificare una stringa per il parametro prefix. La stringa di prefisso può includere uno o più caratteri. Archiviazione di Azure restituisce solo i contenitori i cui nomi iniziano con tale prefisso. È possibile impostare questo valore usando il metodo seguente:

Includere i metadati del contenitore

Per includere i metadati del contenitore con i risultati, creare un'istanza di BlobContainerListDetails e passare true al metodo seguente:

Passare quindi l'oggetto BlobContainerListDetails al metodo seguente:

Includere i contenitori eliminati

Per includere contenitori eliminati temporaneamente con i risultati, creare un'istanza di BlobContainerListDetails e passare true al metodo seguente:

Passare quindi l'oggetto BlobContainerListDetails al metodo seguente:

Esempi di codice

L'esempio seguente elenca i contenitori e filtra i risultati in base a un prefisso specificato:

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

È anche possibile restituire un set di risultati più piccolo, specificando le dimensioni della pagina dei risultati da restituire:

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

Risorse

Per altre informazioni su come elencare i contenitori tramite la libreria client di Archiviazione BLOB di Azure per Java, vedere le risorse seguenti.

Operazioni dell'API REST

Azure SDK per Java contiene librerie basate sull'API REST di Azure, che consentono di interagire con le operazioni dell'API REST tramite paradigmi Java noti. I metodi della libreria client per elencare i contenitori usano l'operazione API REST seguente:

Esempi di codice

Risorse della libreria client

Vedi anche