Compartilhar via


Tutorial: migrar dados do local para a nuvem com o AzCopy

O AzCopy é uma ferramenta de linha de comando para copiar dados para ou do Armazenamento de Blobs do Azure, Arquivos do Azure e Armazenamento de Tabelas do Azure, usando comandos simples. Os comandos são projetados para desempenho ideal. Ao usar AzCopy, você pode copiar dados entre um sistema de arquivos e uma conta de armazenamento, ou entre contas de armazenamento. O AzCopy pode ser usado para copiar dados localmente para uma conta de armazenamento.

Neste tutorial, você aprenderá como:

  • Criar uma conta de armazenamento.
  • Use o AzCopy para carregar todos os seus dados.
  • Modifique os dados para fins de teste.
  • Crie uma tarefa agendada ou trabalho de Cron para identificar novos arquivos a serem carregados.

Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.

Pré-requisitos

Para concluir este tutorial, baixe a última versão do AzCopy. Confira Introdução ao AzCopy.

Se você está no Windows, precisa ter o Schtasks, já que este tutorial o usa para agendar uma tarefa. Os usuários do Linux usarão o comando crontab.

Para criar uma conta de armazenamento de uso geral v2 no portal do Azure, siga estas etapas:

  1. Em Serviços do Azure, selecione Contas de armazenamento.
  2. Na página Contas de Armazenamento, escolha + Criar.
  3. Na guia Informações Básicas, selecione a assinatura na qual você deseja criar a conta de armazenamento.
  4. No campo Grupo de recursos, selecione o grupo de recursos desejado ou crie um novo. Para obter mais informações sobre os grupos de recursos do Azure, confira Visão geral do Azure Resource Manager.
  5. Em seguida, insira um nome para sua conta de armazenamento. O nome escolhido deve ser exclusivo no Azure. O nome também deve ter entre 3 e 24 caracteres e pode incluir apenas números e letras minúsculas.
  6. Selecione uma região para sua conta de armazenamento ou use a região padrão.
  7. Selecione um nível de desempenho. A camada padrão é Standard.
  8. Especifique como a conta de armazenamento será replicada. A opção de redundância padrão é GRS (armazenamento com redundância geográfica) . Para saber mais sobre as opções de replicação disponíveis, confira redundância do Armazenamento do Azure.
  9. Há outras opções disponíveis nas folhas Avançado, Rede, Proteção de dados e Marcas. Para usar o Azure Data Lake Storage, escolha a folha Avançado e defina Namespace hierárquico como Habilitado. Para obter mais informações, confira Introdução ao Azure Data Lake Storage Gen2.
  10. Selecione Revisar + Criar para examinar as configurações da conta de armazenamento e criar a conta.
  11. Selecione Criar.

A seguinte imagem mostra as configurações da folha Informações Básicas de uma nova conta de armazenamento:

Captura de tela que mostra como criar uma conta de armazenamento no portal do Azure.

Criar um contêiner

A primeira etapa é criar um contêiner, já que os blobs sempre devem ser carregados em um contêiner. Contêineres são usados como uma forma de organizar grupos de blobs, assim como pastas são usadas em um computador para organizar arquivos.

Execute estas etapas para criar um contêiner:

  1. Selecione o botão Contas de armazenamento na página principal e, em seguida, selecione a conta de armazenamento que você criou.

  2. Selecione Blobs em Serviços e, em seguida, selecione Contêiner.

    Captura de tela mostrando a criação de contêiner

Nomes de contêiner devem começar com uma letra ou número. Eles podem conter apenas letras, números e o caractere de hífen (-). Para obter mais regras sobre como nomear blobs e contêineres, confira Nomenclatura e referência de contêineres, blobs e metadados.

Baixar o AzCopy

Baixe o arquivo executável do AzCopy V10.

Coloque o arquivo do AzCopy em qualquer lugar do computador. Adicione a localização do arquivo à variável do caminho do sistema, de modo que você possa referenciar esse arquivo executável em qualquer pasta do computador.

Autenticação com o Microsoft Entra ID

Primeiro, atribua a função Colaborador de Dados do Blob de Armazenamento à sua identidade. Confira Atribuir uma função do Azure para acesso a dados de blob.

Em seguida, abra um prompt de comando, digite o comando a seguir e pressione a tecla ENTER.

azcopy login

Esse comando retorna um código de autenticação e a URL de um site. Abra o site, forneça o código e, em seguida, escolha o botão Avançar.

Captura de tela mostrando o prompt de logon

Uma janela de entrada será exibida. Nessa janela, entre em sua conta do Azure usando suas credenciais de conta do Azure. Depois de entrar com êxito, feche a janela do navegador e comece a usar o AzCopy.

Carregar conteúdo de uma pasta para o Armazenamento de Blobs

Você pode usar AzCopy para carregar todos os arquivos em uma pasta para Armazenamento de Blobs em Windows ou Linux. Para carregar todos os blobs em uma pasta, digite o seguinte comando do AzCopy:

azcopy copy "<local-folder-path>" "https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>" --recursive=true
  • Substitua o espaço reservado <local-folder-path> pelo caminho para uma pasta que contenha arquivos (por exemplo: C:\myFolder ou /mnt/myFolder).

  • Substitua o espaço reservado <storage-account-name> pelo nome da sua conta de armazenamento.

  • Substitua o espaço reservado <container-name> pelo nome do contêiner criado.

Para carregar o conteúdo do diretório especificado no Armazenamento de Blobs recursivamente, especifique a opção --recursive. Quando você executa o AzCopy com essa opção, todas as subpastas e seus arquivos são carregados também.

Carregar os arquivos modificados no Armazenamento de Blobs

Use o AzCopy para carregar arquivos com base na hora da última modificação.

Para testar isso, modifique ou crie novos arquivos em seu diretório de origem para fins de teste. Em seguida, use o comando sync do AzCopy.

azcopy sync "<local-folder-path>" "https://<storage-account-name>.blob.core.windows.net/<container-name>" --recursive=true
  • Substitua o espaço reservado <local-folder-path> pelo caminho para uma pasta que contenha arquivos (por exemplo: C:\myFolder ou /mnt/myFolder).

  • Substitua o espaço reservado <storage-account-name> pelo nome da sua conta de armazenamento.

  • Substitua o espaço reservado <container-name> pelo nome do contêiner criado.

Para saber mais sobre o comando sync, confira Sincronizar arquivos.

Criar uma tarefa agendada

Você pode criar uma tarefa agendada ou trabalho de Cron que execute um script de comando AzCopy. O script identifica e carrega novos dados locais para o armazenamento em nuvem em um intervalo de tempo específico.

Copie o comando AzCopy para um editor de texto. Atualize os valores de parâmetro do comando AzCopy para os valores apropriados. Salve o arquivo como script.sh (Linux) ou script.bat (Windows) para AzCopy.

Esses exemplos pressupõem que a pasta seja chamada myFolder, que o nome de sua conta de armazenamento seja mystorageaccount e que o nome do contêiner seja mycontainer.

Observação

O exemplo do Linux acrescenta um token SAS. Você precisará fornecer um no comando. Para utilizar a autenticação do Microsoft Entra em trabalhos do Cron, certifique-se de configurar a variável de ambiente AZCOPY_AUTO_LOGIN_TYPE adequadamente.

azcopy sync "/mnt/myfiles" "https://mystorageaccount.blob.core.windows.net/mycontainer?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-05-30T06:57:40Z&st=2019-05-29T22:57:40Z&spr=https&sig=BXHippZxxx54hQn/4tBY%2BE2JHGCTRv52445rtoyqgFBUo%3D" --recursive=true

Neste tutorial, Schtasks é usado para criar uma tarefa agendada no Windows. O comando Crontab é usado para criar um trabalho Cron no Linux.

Schtasks permite que um administrador crie, exclua, consulte, altere, execute e finalize as tarefas agendadas em um computador local ou remoto. Cron permite que os usuários do Linux e Unix executem comandos ou scripts em uma data e hora especificadas usando expressões Cron.

Para criar um trabalho Cron no Linux, digite o seguinte comando em um terminal:

crontab -e
*/5 * * * * sh /path/to/script.sh

Especificar a expressão Cron */5 * * * * no comando indica que o script de shell script.sh deve ser executado a cada cinco minutos. Você pode agendar o script para ser executado em um momento específico diariamente, mensalmente ou anualmente. Para saber mais sobre como definir a data e hora para a execução do trabalho, consulte expressões Cron.

Para validar que o trabalho cron/tarefa agendada seja executada corretamente, crie novos arquivos no seu diretório myFolder. Aguarde cinco minutos para confirmar que os novos arquivos foram carregados para sua conta de armazenamento. Vá para o diretório de log para exibir os logs de saída da tarefa agendada ou do trabalho Cron.

Próximas etapas

Para saber mais sobre as maneiras de mover dados locais para o Armazenamento do Azure e vice-versa, siga este link:

Para obter mais informações sobre o AzCopy, confira um destes artigos: