Share via


Excluir e restaurar um contêiner de blob com Java

Este artigo mostra como excluir contêineres com a biblioteca de cliente do Armazenamento do Azure para Java. Se você tiver habilitado a exclusão suave de contêiner, poderá restaurar contêineres excluídos.

Pré-requisitos

  • Este artigo pressupõe que você já tenha um projeto configurado para trabalhar com a biblioteca de cliente do Armazenamento de Blobs do Azure para Java. Para saber mais sobre como configurar seu projeto, incluindo a instalação de pacotes, adicionar import diretivas e criar um objeto de cliente autorizado, consulte Introdução ao Armazenamento do Azure e Java.
  • O mecanismo de autorização deve ter permissões para excluir um contêiner de blob ou para restaurar um contêiner excluído suavemente. Para saber mais, consulte as diretrizes de autorização para as seguintes operações da API REST:

Eliminar um contentor

Para excluir um contêiner em Java, use um dos seguintes métodos da BlobServiceClient classe:

Você também pode excluir um contêiner usando um dos seguintes métodos da BlobContainerClient classe:

Depois de excluir um contêiner, não é possível criar um contêiner com o mesmo nome por pelo menos 30 segundos. A tentativa de criar um contêiner com o mesmo nome falhará com o código 409 (Conflict)de erro HTTP. Quaisquer outras operações no contêiner ou nos blobs que ele contém falharão com o código 404 (Not Found)de erro HTTP.

O exemplo a seguir usa um BlobServiceClient objeto para excluir o contêiner especificado:

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

O exemplo a seguir mostra como excluir todos os contêineres que começam com um prefixo especificado:

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

Restaurar um contêiner excluído

Quando a exclusão suave de contêiner está habilitada para uma conta de armazenamento, um contêiner excluído e seu conteúdo podem ser recuperados dentro de um período de retenção especificado. Para saber mais sobre a exclusão suave de contêiner, consulte Habilitar e gerenciar a exclusão suave para contêineres. Você pode restaurar um contêiner excluído chamando o seguinte método da BlobServiceClient classe:

O exemplo a seguir localiza um contêiner excluído, obtém a versão desse contêiner excluído e, em seguida, passa a versão para o método para restaurar o undeleteBlobContainer contêiner.

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

Recursos

Para saber mais sobre como excluir um contêiner usando a biblioteca de cliente do Armazenamento de Blobs do Azure para Java, consulte os recursos a seguir.

Operações da API REST

O SDK do Azure para Java contém bibliotecas que se baseiam na API REST do Azure, permitindo que você interaja com operações da API REST por meio de paradigmas Java familiares. Os métodos de biblioteca de cliente para excluir ou restaurar um contêiner usam as seguintes operações de API REST:

Amostras de código

Recursos da biblioteca do cliente

Consulte também