Partilhar via


Excluir e restaurar um contêiner de blob com JavaScript ou TypeScript

Este artigo mostra como excluir contêineres com a biblioteca de cliente do Armazenamento do Azure para JavaScript. Se você tiver habilitado a exclusão suave de contêiner, poderá 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 cliente do Armazenamento de Blobs do Azure para JavaScript. Para saber mais sobre como configurar seu projeto, incluindo instalação de pacotes, importação de módulos e criação de um objeto de cliente autorizado para trabalhar com recursos de dados, consulte Introdução ao Armazenamento de Blobs do Azure e JavaScript.
  • O mecanismo de autorização deve ter permissões para excluir um contêiner de blob ou para restaurar um contêiner excluído por software. Para saber mais, consulte as diretrizes de autorização para as seguintes operações de API REST:

Eliminar um contentor

Para excluir um contêiner, 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, 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 falha com o código 409 (Conflict)de erro HTTP . Quaisquer outras operações no contêiner ou nos blobs que ele contém falham com o código 404 (Not Found)de erro HTTP.

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

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 suave de contêiner está habilitada para uma conta de armazenamento, um contêiner e seu conteúdo podem ser recuperados depois de excluídos, dentro de um período de retenção que você especificar. Você pode restaurar um contêiner excluído usando um objeto BlobServiceClient :

O exemplo a seguir localiza um contêiner excluído, obtém a ID de versão desse contêiner excluído e, em seguida, passa essa ID para o undeleteContainer método 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 cliente do Armazenamento de Blob do Azure para JavaScript, consulte os recursos a seguir.

Amostras 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 que você interaja com operações da API REST por meio de paradigmas JavaScript familiares. Os métodos de biblioteca de cliente para excluir ou restaurar um contêiner usam as seguintes operações de API REST:

Recursos da biblioteca do cliente

Consulte também

  • Este artigo faz parte do guia do desenvolvedor do Blob Storage para JavaScript/TypeScript. Para saber mais, consulte a lista completa de artigos do guia do desenvolvedor em Crie seu aplicativo JavaScript/TypeScript.