A automação está por toda parte nos dias de hoje na área de TI. Desde a provisionamento de máquinas virtuais até a implantação de sites, a automação é fundamental, especialmente quando lidamos com vários itens. Até mesmo a gestão de arquivos entre o armazenamento do Azure e sua máquina local pode ser automatizada usando um programa utilitário chamado AzCopy.
O AzCopy é um utilitário independente que permite a gestão do armazenamento do Azure. Com o AzCopy, várias operações podem ser realizadas. Neste artigo, vamos nos concentrar em:
- Criar recipientes de armazenamento
- Copiar arquivos locais para os recipientes
- Copiar arquivos entre recipientes
Vamos começar!
Se você aprende melhor através de vídeos, também pode conferir um vídeo da TechSnips relacionado ao que será abordado neste artigo.
Pré-requisitos
Este artigo será um guia passo a passo demonstrando várias tarefas. Se você deseja acompanhar, certifique-se de atender aos requisitos abaixo antes de começar.
- Uma assinatura do Azure. Se você ainda não possui, pode solicitar uma assinatura de avaliação.
- Conta de Armazenamento do Azure. Consulte Criar uma conta de armazenamento para saber mais.
- AzCopy foi baixado e autenticado (confira o artigo Como Baixar e Instalar a Ferramenta AZCopy para aprender como configurar isso)
Criando Novos Contêineres de Armazenamento
Primeiramente, vamos usar o AzCopy para criar novos contêineres de armazenamento em uma conta de armazenamento existente. No exemplo que você estará usando, você criará dois novos contêineres chamados container1 e container2.
Nota: Antes de criar um novo contêiner, é necessário saber a URL de endpoint do contêiner. A URL de endpoint segue o formato: https://[nome_da_conta_de_armazenamento].blob.core.windows.net/[nome_do_contêiner].
Primeiro, defina a URL de endpoint. Neste exemplo, os contêineres serão criados em uma conta de armazenamento chamada storageaccount1207 criando duas URLs de endpoint:
- https://storageaccount1207.blob.core.windows.net/container1
- https://storageaccount1207.blob.core.windows.net/container2
Agora que você conhece as URLs de endpoint, use o comando azcopy make
passando cada URL de endpoint como parâmetro, conforme mostrado abaixo.

Copiando Arquivos para/de Contêineres do Azure
Depois de criar um contêiner de armazenamento, você provavelmente está se perguntando “Como faço para fazer upload para o Armazenamento de Blobs do Azure?”. Você pode fazer isso com o AzCopy usando o comando azcopy copy
. Você pode usar o AzCopy para copiar arquivos PST, VHDs e muito mais.
Usando Autenticação OAuth
Ao usar o AzCopy para copiar arquivos para blobs, você tem algumas opções de autenticação. Como presume-se que você já fez a autenticação no Armazenamento Azure (já que estava nos pré-requisitos), você pode simplesmente executar azcopy copy
especificando um caminho de arquivo local seguido por uma URL de ponto de extremidade do contêiner, conforme mostrado abaixo.
Ao não especificar nenhum outro parâmetro, você está usando a autenticação OAuth.

Como você confirma que o arquivo foi copiado para o contêiner de blob do Azure? Você pode usar o comando azcopy list [url do contêiner]
. Veja o exemplo abaixo mostrando que o arquivo file1.txt
existe.

Para baixar um arquivo do blob Azure para o diretório local, você só precisa trocar os lugares dos argumentos de origem e destino. Veja o exemplo abaixo.

Usando um Token de Assinatura de Acesso Compartilhado (SAS)
Para usar um token SAS, você deve primeiro gerar um. Se você não sabe como gerar um token SAS, confira o Como Gerar um Token SAS do Azure para Acessar Artigos de Contas de Armazenamento.
Uma vez que você tenha um token SAS disponível, você pode anexar o token à URL do contêiner de destino como um parâmetro HTTP, conforme mostrado abaixo.
Se você estiver usando o PowerShell e armazenou o token em uma variável (por exemplo, $token
), você pode passar essa variável em vez da string de token completa, como no comando abaixo.

Usando o mesmo token (assumindo que ainda esteja dentro do período de validade), você também pode baixar arquivos do armazenamento Azure para o armazenamento local. O exemplo abaixo copia o arquivo file1.txt
do armazenamento Azure com um token SAS.
No código abaixo, você pode ver que desta vez, em vez de anexar o token após o nome do contêiner, o nome do arquivo é adicionado primeiro. Isso instrui o AzCopy a copiar um arquivo específico usando a autenticação SAS.

Copiando um Diretório de/para o Armazenamento Azure
Se você tiver muitos arquivos para transferir ou baixar do Azure, também pode copiar diretórios inteiros de uma só vez usando azcopy copy
. O comando para fazer isso não é muito diferente do que você usa para copiar arquivos individuais.
Abaixo você pode ver um comando que copia recursivamente o diretório C:\\MyDir
para o contêiner de blob container1. O parâmetro --recursive
é a chave aqui. A bandeira --recursive
no final do comando indica que todo o conteúdo do diretório pai e subdiretórios que possam existir será copiado.
Você pode ver abaixo que dez arquivos dentro da pasta C:\MyDir foram todos copiados com sucesso com base no resumo do trabalho.

Copiando Arquivos Entre Contêineres de Armazenamento Azure
Ao longo deste artigo, você tem usado bastante o comando azcopy copy
. Não há necessidade de parar agora! Não apenas é possível copiar diretórios e arquivos de/para on-prem, mas também é possível copiar blobs entre contêineres de armazenamento.
Em vez de usar um caminho de arquivo local, você pode alterar os parâmetros para usar uma URL de contêiner de blob como a origem e outra URL de contêiner de blob como o destino.
Você já criou dois contêineres de armazenamento chamados container1 e container2. Nesta seção, vamos copiar arquivos, diretórios e até mesmo o contêiner de blob inteiro de container1 para container2.
Para copiar arquivos de um contêiner para outro, primeiro, gere um novo token SAS. Como os dois contêineres pertencem à mesma conta de armazenamento, o mesmo token pode ser usado tanto para a origem quanto para o destino.
Supondo que você tenha salvo a string do token em uma variável chamada $token
(se estiver executando azcopy com PowerShell), você pode facilmente copiar todos os dados de um contêiner de armazenamento para o outro, conforme mostrado abaixo.
Lembrete: Dê uma olhada no artigo Como Gerar um Token SAS do Azure para Acessar Contas de Armazenamento se você não souber como gerar um token SAS.

Outras Operações Úteis do AzCopy
Além de copiar arquivos e pastas, há outras operações de cópia que você pode realizar com o AzCopy. Algumas delas são:
- Copiar arquivos específicos (filtrados).
- Copiar um diretório para outro diretório no contêiner de blob.
- Copiar do Amazon AWS para o Armazenamento do Azure.
Se você deseja aprender sobre tudo o que o AzCopy pode fazer, confira o conteúdo de ajuda executando azcopy -h
. Você encontrará muitos outros comandos úteis além do comando copy
que você focou exclusivamente neste artigo. Você pode ver uma captura de tela desses comandos abaixo.

Para saber mais, visite a página Cópia do AzCopy. Então você pode tentar isso por conta própria usando as técnicas que aprendeu neste artigo.
Resumo
Neste artigo, você aprendeu como usar o AzCopy para transferir arquivos entre o armazenamento local e o Azure. Você também aprendeu como realizar essas tarefas enquanto usa OAuth e Token de Assinatura de Acesso Compartilhado para autenticação. Você viu quais outros comandos do AzCopy estão disponíveis e como encontrá-los.
I hope this article has helped you get started with AzCopy and sparked your interest in using it more as part of your administration or development tasks. Thank you!