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:
- Excluir contêiner (API REST)
- Restaurar contêiner (API REST)