Eliminare e ripristinare un contenitore BLOB con Java
Questo articolo illustra come eliminare i contenitori con la libreria client di Archiviazione di Azure per Java. Se l'eliminazione temporanea dei contenitori è stata abilitata, è possibile ripristinare i contenitori eliminati.
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 eliminare un contenitore BLOB o per ripristinare un contenitore eliminato temporaneamente. Per altre informazioni, vedere le linee guida per l'autorizzazione per le operazioni API REST seguenti:
Eliminare un contenitore
Per eliminare un contenitore in Java, usare uno dei metodi seguenti dalla classe BlobServiceClient
:
È anche possibile eliminare un contenitore usando uno dei metodi seguenti dalla classe BlobContainerClient
:
Dopo aver eliminato un contenitore, non è possibile creare un contenitore con lo stesso nome per almeno 30 secondi. Il tentativo di creare un contenitore con lo stesso nome avrà esito negativo con codice di errore HTTP 409 (Conflict)
. Qualsiasi altra operazione sul contenitore o sui BLOB in esso contenuti avrà esito negativo con codice di errore HTTP 404 (Not Found)
.
Nell'esempio seguente viene usato un oggetto BlobServiceClient
per eliminare il contenitore specificato:
public void deleteContainer(BlobServiceClient blobServiceClient, String containerName) {
// Delete the container using the service client
blobServiceClient.deleteBlobContainer(containerName);
}
Nell'esempio seguente viene illustrato come eliminare tutti i contenitori che iniziano con un prefisso specificato:
public void deleteContainersWithPrefix(BlobServiceClient blobServiceClient) {
ListBlobContainersOptions options = new ListBlobContainersOptions()
.setPrefix("container-");
// Delete the container with the specified prefix using the service client
for (BlobContainerItem containerItem : blobServiceClient.listBlobContainers(options, null)) {
BlobContainerClient containerClient = blobServiceClient.getBlobContainerClient(containerItem.getName());
containerClient.delete();
}
}
Ripristinare un contenitore eliminato
Quando l'eliminazione temporanea del contenitore è abilitata per un account di archiviazione, un contenitore eliminato e il relativo contenuto possono essere recuperati entro un periodo di conservazione specificato. Per altre informazioni sull'eliminazione temporanea dei contenitori, vedere Abilitare e gestire l'eliminazione temporanea per i contenitori. È possibile ripristinare un contenitore eliminato predefinito chiamando il metodo seguente della classe BlobServiceClient
:
L'esempio seguente trova un contenitore eliminato, ottiene la versione del contenitore eliminato e quindi passa la versione nel metodo undeleteBlobContainer
per ripristinare il contenitore.
public void restoreContainer(BlobServiceClient blobServiceClient) {
ListBlobContainersOptions options = new ListBlobContainersOptions();
options.getDetails().setRetrieveDeleted(true);
// Delete the container with the specified prefix using the service client
for (BlobContainerItem deletedContainerItem : blobServiceClient.listBlobContainers(options, null)) {
BlobContainerClient containerClient = blobServiceClient
.undeleteBlobContainer(deletedContainerItem.getName(), deletedContainerItem.getVersion());
}
}
Risorse
Per altre informazioni sull'eliminazione di un contenitore usando la libreria client di Archivio 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 eliminare o ripristinare un contenitore usano le operazioni API REST seguenti:
- Delete Container (API REST)
- Restore Container (API REST)
Esempi di codice
Risorse della libreria client
- Documentazione di riferimento della libreria client
- Codice sorgente della libreria client
- Pacchetto (Maven)
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per