Compartilhar via


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

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:

Recursos da biblioteca de clientes

Confira também

  • Este artigo faz parte do guia do desenvolvedor 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.