Excluir ou restaurar um contêiner de blob com JavaScript ou TypeScript
Este artigo mostra como excluir contêineres com a biblioteca de clientes do Armazenamento do Azure para JavaScript. Se você habilitou a exclusão temporária de contêiner, é possível restaurar contêineres excluídos.
Pré-requisitos
- Os exemplos neste artigo pressupõem que você já tenha um projeto configurado para trabalhar com a biblioteca de clientes do Armazenamento de Blobs do Azure para JavaScript. Para saber mais sobre a configuração do seu projeto, incluindo a instalação de pacotes, a importação de módulos e a criação de um objeto cliente autorizado para trabalhar com recursos de dados, confira Introdução ao Armazenamento de Blobs do Azure e o JavaScript.
- O mecanismo de autorização deve ter permissões para excluir um contêiner de blob ou restaurar um contêiner excluído temporariamente. Para saber mais, confira as diretrizes de autorização para as seguintes operações de API REST:
Excluir um contêiner
Para excluir um contêiner no Python, use o seguinte método da classe BlobServiceClient:
Você também pode excluir um contêiner usando o seguinte método da classe ContainerClient:
Depois de excluir um contêiner, você não poderá criar um contêiner com o mesmo nome por pelo menos 30 segundos. A tentativa de criar um contêiner com o mesmo nome falha com o código de erro HTTP 409 (Conflict)
. Qualquer outra operação no contêiner ou nos blobs que ele contém falhará com o código de erro HTTP 404 (Not Found)
.
O exemplo a seguir usa um objeto BlobServiceClient
para excluir um contêiner específico:
async function deleteContainer(blobServiceClient, containerName) {
return await blobServiceClient.deleteContainer(containerName);
}
O exemplo a seguir mostra como excluir todos os contêineres que começam com um prefixo especificado:
async function deleteContainersWithPrefix(blobServiceClient, prefix) {
const containerOptions = {
includeDeleted: false,
includeMetadata: false,
includeSystem: true,
prefix
}
for await (const containerItem of blobServiceClient.listContainers(containerOptions)) {
try{
const containerClient = blobServiceClient.getContainerClient(containerItem.name);
await containerClient.delete();
console.log(`Deleted ${containerItem.name} container - success`);
}catch(ex){
console.log(`Deleted ${containerItem.name} container - failed - ${ex.message}`);
}
}
}
Restaurar um contêiner excluído
Quando a exclusão temporária de contêineres está habilitada para uma conta de armazenamento, um contêiner e seu conteúdo podem ser recuperados após serem excluídos, dentro de um período de retenção especificado por você. Você pode restaurar um contêiner excluído temporariamente usando um objeto BlobServiceClient:
O exemplo a seguir localiza um contêiner excluído, obtém a ID da versão do contêiner excluído e, em seguida, passa essa ID para o método undeleteContainer
para restaurar o contêiner.
async function undeleteContainer(blobServiceClient, containerName) {
// Version to restore
let containerVersion;
const containerOptions = {
includeDeleted: true,
prefix: containerName
}
// Find the deleted container and restore it
for await (const containerItem of blobServiceClient.listContainers(containerOptions)) {
if (containerItem.name === containerName) {
containerVersion = containerItem.version;
}
}
const containerClient = await blobServiceClient.undeleteContainer(
containerName,
containerVersion,
);
}
Recursos
Para saber mais sobre como excluir um contêiner usando a biblioteca de clientes do Armazenamento de Blobs do Azure para JavaScript, consulte os recursos a seguir.
Exemplos de código
- Veja os códigos de exemplo JavaScript e TypeScript desse artigo (GitHub)
Operações da API REST
O SDK do Azure para JavaScript contém bibliotecas que se baseiam na API REST do Azure, permitindo a interação com as operações de API REST por meio de paradigmas conhecidos do JavaScript. Os métodos da biblioteca de clientes para excluir ou restaurar um contêiner usam as seguintes operações da API REST:
- Excluir Contêiner (API REST)
- Restaurar contêiner (API REST)
Recursos da biblioteca de clientes
- Documentação de referência da biblioteca de clientes
- Código-fonte da biblioteca de clientes
- Pacote (npm)
Confira também
Conteúdo relacionado
- Este artigo faz parte do guia para desenvolvedores do Armazenamento de Blobs para JavaScript/Typescript. Para saber mais, confira a lista completa de artigos do guia do desenvolvedor em Criar seu aplicativo JavaScript/Typescript.