Tutorial: Migrar dados locais para armazenamento em nuvem com o AzCopy

O AzCopy é uma ferramenta de linha de comandos para copiar dados de ou para o armazenamento de Blobs do Azure, Ficheiros do Azure e armazenamento de Tabelas do Azure através de comandos simples. Os comandos foram concebidos para um desempenho ideal. Com o AzCopy, pode copiar dados entre um sistema de ficheiros e uma conta de armazenamento ou entre contas de armazenamento. O AzCopy pode ser utilizado para copiar dados (no local) do local para uma conta de armazenamento.

Neste tutorial, irá aprender a:

  • Criar uma conta de armazenamento.
  • Utilizar o AzCopy para carregar todos os seus dados.
  • Modificar os dados para fins de teste.
  • Criar uma tarefa agendada ou tarefa Cron para identificar os novos ficheiros a carregar.

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

Pré-requisitos

Para concluir este tutorial, faça o download da versão mais recente do AzCopy. Consulte Introdução ao AzCopy.

Se estiver no Windows, irá precisar de Schtasks, uma vez que este tutorial utiliza-o para agendar uma tarefa. Ao invés, os utilizadores do Linux utilizam o comando crontab.

Para criar uma conta de armazenamento para fins gerais v2 no portal do Azure, siga estes passos:

  1. Em Serviços do Azure, selecione Contas de armazenamento.
  2. Na página Contas de Armazenamento , escolha + Criar.
  3. Na folha Noções básicas, selecione a assinatura na qual criar a conta de armazenamento.
  4. No campo Grupo de recursos, selecione o grupo de recursos desejado ou crie um novo grupo de recursos . Para obter mais informações sobre grupos de recursos do Azure, consulte Visão geral do Azure Resource Manager.
  5. A seguir, introduza um nome para a sua conta de armazenamento. O nome que escolher tem de ser exclusivo em todo o 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 uma camada de desempenho. A camada padrão é Standard.
  8. Especifique como a conta de armazenamento será replicada. A opção de redundância padrão é o armazenamento com redundância geográfica (GRS). Para obter mais informações sobre as opções de replicação disponíveis, consulte Redundância do Armazenamento do Azure.
  9. Opções adicionais estão disponíveis nas folhas Avançado, Rede, Proteção de dados e Tags. Para usar o Armazenamento do Azure Data Lake, escolha a folha Avançado e defina o namespace Hierárquico como Habilitado. Para obter mais informações, consulte Introdução ao Azure Data Lake Storage Gen2.
  10. Selecione Rever + Criar para rever as definições de conta de armazenamento e criar a conta.
  11. Selecione Criar.

A imagem a seguir mostra as configurações na folha Noções básicas para uma nova conta de armazenamento:

Screenshot showing how to create a storage account in the Azure portal.

Criar um contentor

O primeiro passo é criar um contentor, porque os blobs têm de ser sempre carregados para um contentor. Os contentores são utilizados como um método de organizar grupos de blobs, como faria com ficheiros no seu computador, em pastas.

Siga estes passos para criar um contentor:

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

  2. Selecione Blobs em Serviços e, em seguida, selecione Contentor.

    Screenshot showing container creation

Os nomes de contentores têm de começar com uma letra ou um número. Só podem conter letras, números e o caráter de hífen (-). Para ter acesso a outras regras sobre como atribuir nomes a blobs e contentores, consulte Atribuir nomes e referenciar contentores, blobs e metadados.

Transferir o AzCopy

Baixe o arquivo executável AzCopy V10.

Coloque o arquivo AzCopy em qualquer lugar do seu computador. Adicione a localização do ficheiro à variável de caminho do sistema para que possa consultar este ficheiro executável a partir de qualquer pasta no computador.

Autenticar com o Microsoft Entra ID

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

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

azcopy login

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

Screenshot showing the login prompt

Será apresentada uma janela de início de sessão. Nessa janela, entre em sua conta do Azure usando suas credenciais de conta do Azure. Depois de iniciar sessão com sucesso, pode fechar a janela do navegador e começar a utilizar o AzCopy.

Carregar conteúdos de uma pasta para o armazenamento de Blobs

Pode utilizar o AzCopy para carregar todos os ficheiros numa pasta para o armazenamento de Blobs no Windows ou Linux. Para carregar todos os blobs numa pasta, introduza 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 que você criou.

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

Carregar ficheiros modificados para o armazenamento de Blobs

Pode utilizar o AzCopy para carregar ficheiros com base na hora da última modificação.

Para experimentar, modifique ou crie novos ficheiros no diretório de origem para fins de teste. Em seguida, use o comando AzCopy sync .

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 que você criou.

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

Criar uma tarefa agendada

Pode criar uma tarefa agendada ou uma tarefa Cron que executa um script de comandos do AzCopy. O script identifica e carrega os novos dados no local para o armazenamento na cloud num intervalo de tempo específico.

Copie o comando do AzCopy para um editor de texto. Atualize os valores dos parâmetros do comando do AzCopy para os valores adequados. Guarde o ficheiro como script.sh (Linux) ou script.bat (Windows) para o AzCopy.

Estes exemplos pressupõem que a pasta tem o nome, o nome da conta de armazenamento é e o nome myFolderdo contêiner é mystorageaccountmycontainer.

Nota

O exemplo do Linux acrescenta um token SAS. Você precisará fornecer um em seu comando. A versão atual do AzCopy V10 não suporta a autorização do Microsoft Entra em trabalhos cron.

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, é utilizado o comando Schtasks para criar uma tarefa agendada no Windows. O comando Crontab é utilizado para criar uma tarefa Cron no Linux.

Schtasks permite a um administrador criar, eliminar, consultar, alterar, executar e terminar tarefas agendadas num computador local ou remoto. Cron permite aos utilizadores de Linux e Unix executar comandos ou scripts numa data e hora especificadas através de expressões Cron.

Para criar uma tarefa Cron no Linux, introduza o seguinte comando num terminal:

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

Especificar a expressão Cron */5 * * * * no comando indica que o script da shell script.sh deve ser executado a cada cinco minutos. Pode agendar o script para ser executado numa hora específica diária, mensal ou anualmente. Para obter mais informações sobre como definir a data e hora de execução da tarefa, veja expressões Cron.

Para validar que a tarefa agendada/tarefa Cron é executada corretamente, crie novos ficheiros no diretório myFolder. Aguarde cinco minutos para confirmar que os novos ficheiros foram carregados para a conta de armazenamento. Aceda ao diretório de registos para ver os registos de saída da tarefa agendada ou tarefa Cron.

Próximos passos

Para obter mais informações sobre formas de mover os dados no local para o Armazenamento do Azure e vice-versa, siga esta ligação:

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