Escolher entre a exclusão temporária de blob e o controle de versão de blob

Este artigo ajuda você a determinar quando habilitar a exclusão reversível, o controle de versão, ambos ou nenhum dos dois.

Tanto a exclusão temporária de blob quanto o controle de versão de blob podem ajudar você a proteger contra exclusões e substituições. Esses recursos podem ser usados de forma independente ou em conjunto, dependendo da carga de trabalho, da sensibilidade de custo e das necessidades de recuperação. Para saber mais sobre outras maneiras de proteger blobs e contêineres, confira a visão geral da proteção de dados.

Nossa recomendação

Os clientes de armazenamento de blobs que armazenam dados críticos devem habilitar a exclusão reversível e o controle de versão para proteção em camadas contra exclusões e substituições não intencionais. A exclusão suave garante que seus dados permaneçam recuperáveis por um número configurável de dias. O controle de versão de blob oferece mais flexibilidade para gerenciar versões anteriores e opções de recuperação, como podendo ler versões anteriores e recuperar de alterações em metadados ou propriedades. Consulte os detalhes a seguir para descobrir o que é certo para você.

Visão geral dos recursos

Característica Protege contra Duração da retenção Comportamento de armazenamento Considerações sobre o HNS (namespace hierárquico)
Exclusão suave Exclui e sobrescreve contas com namespace plano. Exclusões para contas de namespace hierárquico. Até 365 dias (configurável) Cria um instantâneo de exclusão temporária para cada substituição. Cria um blob de exclusão suave para cada exclusão. A exclusão temporária protege apenas as operações de exclusão para contas habilitadas para HNS. Com a API Definir Expiração de Blob, um arquivo expirado não pode ser restaurado usando o recurso de exclusão temporária de blob.
Controle de versão Exclui e sobrescreve contas com namespace plano. Indefinido (até ser explicitamente excluído) Cria uma nova versão em cada gravação. O controle de versão não está disponível para contas habilitadas para HNS.

Observação

Ambos os recursos são desabilitados por padrão e devem ser habilitados no nível da conta de armazenamento.

Quando usar a exclusão suave

Diagrama que mostra como um blob excluído temporariamente pode ser restaurado.

Habilitar exclusão temporária se:

  • Você deseja recuperar blobs que foram excluídos ou substituídos acidentalmente. Para contas habilitadas para namespace hierárquico, a exclusão temporária protege apenas contra exclusões, não substituições.
  • Você precisará de uma rede de segurança limitada por tempo para recuperação de blobs, igual à configuração de dias de retenção.

Considerações

  • Um instantâneo de exclusão temporária é criado para cada operação de substituição. A exclusão reversível do blob não o protege contra operações para gravar metadados ou propriedades do blob.

  • Um blob de exclusão suave é criado para cada operação de exclusão. Cada blob com exclusão temporária é cobrado pelo tamanho total do blob no momento da operação.

  • Evite exceder 1.000 instantâneos excluídos temporariamente por blob durante o período de retenção para evitar a degradação do desempenho durante as operações de listagem de blobs.

  • A retenção é limitada a um máximo de 365 dias.

  • Se a exclusão temporária estiver habilitada, blobs excluídos, instantâneos e versões serão mantidos pelo período de retenção configurado para exclusão temporária. Se o recurso Exclusão Permanente estiver habilitado, instantâneos e versões excluídos de forma reversível poderão ser excluídos permanentemente antes do fim do período de retenção. Depois que o período de retenção expirar, todos os dados restantes excluídos serão excluídos automática e permanentemente.

  • Se a exclusão reversível estiver desabilitada, todas as exclusões serão permanentes, mas os dados excluídos automaticamente existentes serão mantidos até que o período de retenção expire.

  • O conteúdo de blobs excluídos temporariamente não é acessível por meio de APIs de leitura. Para acessar os dados, primeiro você deverá restaurar o blob.

Quando usar versionamento

Diagrama mostrando como o versionamento de blob funciona.

Habilite o controle de versão se:

  • Você deseja manter um histórico completo de alterações em um blob. Para controle de versão, substituições e exclusões criam uma versão anterior. A exclusão remove a versão atual, mas as versões anteriores permanecem.

  • Você deseja salvar alterações em metadados e propriedades como versões anteriores.

  • Você precisará reter estados anteriores de blobs por longo prazo ou por tempo indefinido.

  • Você deseja manter o acesso rápido às versões anteriores sem precisar restaurar ou desarquivar.

Considerações

  • Cada operação de gravação (Colocar Blob,Colocar Lista de Blocos,Definir Metadados de Blob e Copiar Blob) cria uma nova versão do blob.

  • As versões são mantidas até serem excluídas explicitamente, oferecendo opções de recuperação de longo prazo.

  • Evite exceder 1.000 versões por blob para manter o desempenho ideal e evitar degradação de desempenho durante operações de listagem de blobs.

  • Você pode excluir versões específicas a qualquer momento. Funções separadas são necessárias para excluir versões atuais e versões anteriores. Essa separação pode ser útil para evitar erros. A mesma identidade pode ter ambas as funções atribuídas. Saiba mais.

  • Você pode configurar uma política de gerenciamento de ciclo de vida ou ações de armazenamento do Azure para controlar o ciclo de vida de suas versões e definir condições de retenção.

  • O controle de versão não está disponível para contas com namespace hierárquico habilitado.

Quando usar ambos

Habilite a exclusão suave e o controle de versão se:

  • Você precisa de proteção abrangente contra exclusões acidentais e substituições.
  • Você opera em um ambiente regulamentado que exige proteção de dados em camadas.
  • Você deseja garantir as opções de recuperação mesmo que as versões sejam excluídas.
  • Você deseja criar um período de carência em que, quando as versões anteriores são excluídas, elas são mantidas por algum período de tempo (retenção de exclusão temporária).

Considerações

  • Quando o controle de versão está habilitado, a exclusão da versão atual a torna uma versão anterior. Quando a exclusão suave é habilitada, a exclusão da versão anterior torna-a uma versão anterior excluída suavemente. (Saiba mais)

  • A retenção de exclusão temporária só se aplica à exclusão de versões anteriores. Caso queira excluir permanentemente as versões de exclusão temporária antes do período de retenção, consulte estas instruções.

  • Evite exceder 1.000 versões por blob para manter o desempenho ideal e evitar degradação de desempenho durante operações de listagem de blobs.

  • Cada recurso retém dados de uma maneira diferente. Você pode definir diferentes períodos de retenção para versionamento e exclusão suave para balancear o custo e o risco de perda de dados.

Quando usar nenhum dos dois

Você poderá optar por desabilitar ambos os recursos se:

  • Seu aplicativo tem seus próprios mecanismos de backup e recuperação.
  • Você tem restrições de custo estritas e baixo risco de perda acidental de dados.
  • Seus dados são temporários ou dados de teste e a proteção não é necessária.

Acessibilidade de blob após a exclusão

Se a exclusão temporária, o controle de versão ou ambos estiverem habilitados na conta, esta seção descreve como acessar os dados após a exclusão de um blob.

Se o controle de versão estiver habilitado, você deverá especificar uma ID de versão para ler uma versão anterior. Use a operação Copiar Blob para copiar uma versão anterior para uma nova versão atual.

Se a exclusão temporária estiver habilitada, você deverá recuperar o blob.

Se o controle de versão e a exclusão suave estiverem habilitados e a versão anterior que você deseja acessar tiver sido excluída de forma suave, primeiro você deverá recuperar o blob. A operação Undelete Blob sempre restaura todas as versões com exclusão temporária do blob. Em seguida, você pode usar a operação Copiar Blob para copiar uma versão anterior para uma nova versão atual.

Considerações de custo

Habilitar a exclusão temporária ou o controle de versão para dados substituídos com frequência pode resultar em aumento dos custos de capacidade de armazenamento e aumento da latência ao listar blobs. As atualizações de nível de bloco usando Put Block e Put Block List podem reduzir os custos de armazenamento. Caso não faça alterações na camada de um blob, versão ou instantâneo, será cobrado por blocos exclusivos de dados desse blob, suas versões e instantâneos. Você será cobrado por dados ativos até que o blob, as versões e os instantâneos sejam excluídos permanentemente. Saiba mais