Partilhar via


Excluir e restaurar um blob com JavaScript ou TypeScript

Este artigo mostra como excluir blobs com a biblioteca de cliente do Armazenamento do Azure para JavaScript e como restaurar blobs excluídos por software durante o período de retenção.

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 blob ou para restaurar um blob excluído suavemente. Para saber mais, consulte as diretrizes de autorização para as seguintes operações de API REST:

Eliminar um blob

Nota

Quando a exclusão suave de blob está habilitada para uma conta de armazenamento, você não pode executar uma exclusão permanente usando métodos de biblioteca de cliente. Usando os métodos neste artigo, um blob, uma versão de blob ou instantâneo excluído suavemente permanece disponível até que o período de retenção expire, momento em que é excluído permanentemente. Para saber mais sobre a operação subjacente da API REST, consulte Excluir Blob (API REST).

Para excluir um blob, chame um dos seguintes métodos:

Se o blob tiver instantâneos associados, você deverá excluir todos os seus instantâneos para excluir o blob. O exemplo de código a seguir mostra como excluir um blob e seus instantâneos:

async function deleteBlob(containerClient, blobName){

  // include: Delete the base blob and all of its snapshots
  // only: Delete only the blob's snapshots and not the blob itself
  const options = {
    deleteSnapshots: 'include'
  }

  // Create blob client from container client
  const blockBlobClient = containerClient.getBlockBlobClient(blobName);

  await blockBlobClient.delete(options);
}

Restaurar um blob excluído

A eliminação recuperável de blobs protege um blob individual e as respetivas versões, instantâneos e metadados contra eliminações ou substituições acidentais, mantendo os dados eliminados no sistema durante um período de tempo especificado. Durante o período de retenção, pode restaurar o blob para o estado em que estava no momento da eliminação. Depois que o período de retenção expirar, o blob será excluído permanentemente. Para obter mais informações sobre exclusão suave de blob, consulte Exclusão suave para blobs.

Você pode usar as bibliotecas de cliente do Armazenamento do Azure para restaurar um blob ou instantâneo excluído por software.

Restaurar objetos excluídos por software quando o controle de versão estiver desativado

Para restaurar blobs excluídos por software, chame o seguinte método:

Esse método restaura blobs excluídos suavemente e quaisquer instantâneos excluídos associados a ele. Chamar esse método para um blob que não foi excluído não tem efeito.

async function undeleteBlob(containerClient, blobName){

  // Create blob client from container client
  const blockBlobClient = containerClient.getBlockBlobClient(blobName);

  await blockBlobClient.undelete();
}

Recursos

Para saber mais sobre como excluir blobs e restaurar blobs excluídos usando a biblioteca de cliente do Armazenamento de Blobs 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 da biblioteca de cliente para excluir blobs e restaurar blobs excluídos usam as seguintes operações da API REST:

Recursos da biblioteca do cliente

Consulte também

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