Dela via


Ta bort och återställa en blobcontainer med Java

Den här artikeln visar hur du tar bort containrar med Azure Storage-klientbiblioteket för Java. Om du har aktiverat mjuk borttagning av containrar kan du återställa borttagna containrar.

Förutsättningar

  • Den här artikeln förutsätter att du redan har ett projekt konfigurerat för att fungera med Azure Blob Storage-klientbiblioteket för Java. Mer information om hur du konfigurerar projektet, inklusive paketinstallation, tillägg import av direktiv och skapande av ett auktoriserat klientobjekt finns i Komma igång med Azure Storage och Java.
  • Auktoriseringsmekanismen måste ha behörighet att ta bort en blobcontainer eller återställa en mjuk borttagen container. Mer information finns i auktoriseringsvägledningen för följande REST API-åtgärder:

Ta bort en container

Om du vill ta bort en container i Java använder du någon av följande metoder från BlobServiceClient klassen:

Du kan också ta bort en container med någon av följande metoder från BlobContainerClient klassen:

När du har tagit bort en container kan du inte skapa en container med samma namn på minst 30 sekunder. Försök att skapa en container med samma namn misslyckas med HTTP-felkoden 409 (Conflict). Andra åtgärder i containern eller blobarna som den innehåller misslyckas med HTTP-felkoden 404 (Not Found).

I följande exempel används ett BlobServiceClient objekt för att ta bort den angivna containern:

public void deleteContainer(BlobServiceClient blobServiceClient, String containerName) {
    // Delete the container using the service client
    blobServiceClient.deleteBlobContainer(containerName);
}

I följande exempel visas hur du tar bort alla containrar som börjar med ett angivet prefix:

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

Återställa en borttagen container

När mjuk borttagning av containrar är aktiverat för ett lagringskonto kan en borttagen container och dess innehåll återställas inom en angiven kvarhållningsperiod. Mer information om mjuk borttagning av containrar finns i Aktivera och hantera mjuk borttagning för containrar. Du kan återställa en mjuk borttagen container genom att anropa följande metod för BlobServiceClient klassen:

I följande exempel hittar du en borttagen container, hämtar versionen av den borttagna containern och skickar sedan versionen till undeleteBlobContainer metoden för att återställa containern.

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

Resurser

Mer information om hur du tar bort en container med hjälp av Azure Blob Storage-klientbiblioteket för Java finns i följande resurser.

REST API-åtgärder

Azure SDK för Java innehåller bibliotek som bygger på Azure REST API, så att du kan interagera med REST API-åtgärder via välbekanta Java-paradigm. Klientbiblioteksmetoderna för att ta bort eller återställa en container använder följande REST API-åtgärder:

Kodexempel

Klientbiblioteksresurser

Se även