Qual é a melhor maneira de backup do conteúdo de Armazenamento De Blob Azure

Eu sei que as Entidades de armazenamento Azure (blobs, tabelas e filas) têm uma resiliência incorporada, o que significa que eles são replicados a 3 servidores diferentes no mesmo datacenter. Além disso, eles também podem ser replicados para um datacenter completamente diferente que está fisicamente localizado em uma região geográfica diferente. A chance de perder seus dados neste caso é perto de zero para todos os propósitos práticos.

no entanto, o que acontece se um desenvolvedor desleixado (ou aquele sob a influência do álcool:)) acidentalmente apaga a conta de armazenamento através do portal Azure ou da ferramenta Azure Storage Explorer? Pior ainda, e se um hacker ficar com a tua conta e limpar o armazém? Existe uma maneira de recuperar os gigabytes de blobs apagados ou é isso? De alguma forma, penso que tem de haver uma solução elegante que a infra-estrutura Azure fornece aqui, mas não consigo encontrar qualquer documentação.

A única solução que me ocorre é escrever o meu próprio processo (papel do trabalhador) que periodicamente, todo o meu armazenamento é suportado por uma assinatura/conta diferente, duplicando assim, essencialmente, o custo de armazenamento e transacções. Alguma ideia?

Atenciosamente,

Archil

Author: Archil Kublashvili, 2012-07-19

3 answers

Dependendo de onde quer fazer backup dos seus dados, existem duas opções disponíveis:

  1. Backup de dados localmente-se você deseja fazer backup de seus dados localmente em sua infra-estrutura, você pode: A. escreva a sua própria aplicação usando a Biblioteca do cliente de armazenamento ou a API de repouso consumidor ou B. utilizar ferramentas de terceiros como cmdlets de gestão do Cerebrata Azure (divulgação: trabalho para o Cerebrata).

  2. Backup de dados na nuvem-recentemente, Windows Azure A equipe de armazenamento anunciou a funcionalidade de cópia assíncrona Blob que essencialmente permitirá que você copie dados de uma conta de armazenamento para outra conta de armazenamento sem baixar os dados localmente. A captura aqui é que sua conta de armazenamento alvo deve ser criada após 7 de junho de 2012. Você pode ler mais sobre esta funcionalidade no Blog do Windows Azure: http://blogs.msdn.com/b/windowsazurestorage/archive/2012/06/12/introducing-asynchronous-cross-account-copy-blob.aspx.

Espero que isto ajude.
 21
Author: Gaurav Mantri, 2012-07-19 15:58:13
A resposta aceite está boa, mas demorei algumas horas a decifrar tudo. Preparei uma solução que uso agora em produção. Exponho o método Backup() até Web Api que é então chamado por um Azure WebJob todos os dias (à meia-noite).

Note que eu peguei o código fonte original, e modifiquei-o:

    Não estava actualizado, por isso mudei alguns nomes de métodos.
  • salvaguarda da operação de cópia de repetição adicionada (falha após 4 tentativas para o mesmo blob)
  • adicionou um pouco de madeira - você deve trocá-lo com o seu próprio.
  • a cópia de segurança entre duas contas de armazenamento (recipientes replicantes e bolhas)
  • purga - se adicionado-livra-se de recipientes antigos que não são necessários (guarda 16 dias de dados). você pode sempre desativar isso, como o espaço é barato.

A fonte pode ser encontrada em: https://github.com/ChrisEelmaa/StackOverflow/blob/master/AzureStorageAccountBackup.cs

E é assim que o uso no controlador (repare que o seu controlador só deve poder ser ligado pela webjob azure-pode verificar as credenciais nos cabeçalhos):

[Route("backup")]
[HttpPost]
public async Task<IHttpActionResult> Backup()
{
    try
    {
        await _blobService.Backup();
        return Ok();
    }
    catch (Exception e)
    {
        _loggerService.Error("Failed to backup blobs " + e);
        return InternalServerError(new Exception("Failed to back up blobs!"));
    }
}

Nota: eu queria adicionar este código como parte do post, mas perdi 6 minutos tentando colocar esse código neste post, mas falhou. a formatação não funcionou e partiu-se completamente.

 4
Author: Erti-Chris Eelmaa, 2018-08-21 07:19:00

Você pode fazer uma foto de um container do blog e, em seguida, baixar o instantâneo para um ponto no tempo de backup.

Https://docs.microsoft.com/en-us/azure/storage/storage-blob-snapshots

Um instantâneo é uma versão apenas para leitura de uma bolha que é tirada num ponto em tempo. Instantâneos são úteis para fazer backup de bolhas. Depois de criar um Instantâneo, você pode ler, copiar ou apagar, mas você não pode modificá-lo.+ Um instantâneo de uma blob é idêntico à sua blob base, excepto que o blob URI tem um valor DateTime adicionado ao Blob URI para indicar o hora em que a fotografia foi tirada. Por exemplo, se uma página blob URI riz [9]} http://storagesample.core.blob.windows.net/mydrives/myvhd , o snapshot URI é semelhante a http://storagesample.core.blob.windows.net/mydrives/myvhd?snapshot=2011-03-09T01:42:34.9360000Z.

 0
Author: TWilly, 2017-08-15 13:41:14