Introdução ao AzCopy
AzCopy é um utilitário de linha de comando que você pode usar para copiar blobs ou arquivos de ou para uma conta de armazenamento. Este artigo ajuda você a baixar o AzCopy, conectar-se à sua conta de armazenamento e, em seguida, transferir os dados.
Observação
O AzCopy V10 é a versão compatível no momento. Não há suporte para a ferramenta em versões do Windows, Linux ou macOS que não são mais mantidas oficialmente.
Se você precisar usar uma versão anterior do AzCopy, confira a seção deste artigo Usar a versão anterior do AzCopy.
Este vídeo mostra como baixar e executar o utilitário AzCopy.
As etapas no vídeo também são descritas nas seções a seguir.
Casos de uso do AzCopy
O AzCopy pode ser usado para copiar seus dados para, de ou entre contas de armazenamento do Azure. Os casos de uso comuns incluem:
- Copiar dados de uma fonte local para uma conta de armazenamento do Azure
- Copiar dados de uma conta de armazenamento do Azure para uma fonte local
- Copiar dados de uma conta de armazenamento para outra conta de armazenamento
Cada um desses casos de uso tem opções exclusivas. Por exemplo, o AzCopy tem comandos nativos para copiar e/ou sincronizar dados. Isso torna o AzCopy uma ferramenta flexível que pode ser usada para atividades de cópia única e cenários de sincronização contínua. O AzCopy também permite que você direcione serviços de armazenamento específicos, como o Armazenamento de Blobs do Azure ou os Arquivos do Azure. Isso permite que você copie dados de blob para arquivo, arquivo para blob, arquivo para arquivo, etc.
Para saber mais sobre esses cenários, confira:
- Carregar arquivos no Armazenamento de Blobs do Azure usando o AzCopy
- Baixar blobs do Armazenamento de Blobs do Azure usando o AzCopy
- Copiar blobs entre contas de armazenamento do Azure usando o AzCopy
- Fazer a sincronização com o Armazenamento de Blobs do Azure usando o AzCopy
Observação
O AzCopy não dá suporte a cenários em que a origem ou o destino está sendo alterado ativamente durante a transferência.
Instalar o AzCopy no Linux usando um gerenciador de pacotes
Você pode instalar o AzCopy usando um pacote do Linux hospedado no Repositório de Software Linux para Produtos da Microsoft.
Baixe o pacote de configuração do repositório.
Importante
Substitua a distribuição e a versão pelas cadeias de caracteres apropriadas.
curl -sSL -O https://packages.microsoft.com/config/<distribution>/<version>/packages-microsoft-prod.rpm
Instale o pacote de configuração do repositório.
sudo rpm -i packages-microsoft-prod.rpm
Exclua o pacote de configuração do repositório depois de instalá-lo.
rm packages-microsoft-prod.rpm
Atualize os arquivos de índice do pacote.
sudo dnf update
Instale o AzCopy.
sudo dnf install azcopy
Baixar o binário portátil do AzCopy
Como alternativa à instalação de um pacote, você pode baixar o arquivo executável do AzCopy V10 para qualquer diretório em seu computador.
- Windows 64-bit (zip)
- Windows 32-bit (zip)
- Linux x86-64 (tar)
- Linux ARM64 (tar)
- macOS (zip)
- Versão prévia do macOS ARM64 (zip)
Esses arquivos são compactados como um arquivo zip (Windows e Mac) ou tar (Linux). Para baixar e descompactar o arquivo tar no Linux, confira a documentação da distribuição do Linux.
Para obter informações detalhadas sobre versões do AzCopy, consulte a página de versão do AzCopy.
Observação
Se quiser copiar dados bidirecionalmente do serviço de armazenamento de tabelas do Azure, instale o AzCopy versão 7.3.
Executar AzCopy
Para sua conveniência, considere adicionar o local do diretório do executável AzCopy ao caminho do sistema para facilitar o uso. Dessa forma, você pode digitar azcopy
de qualquer diretório no seu sistema.
Se optar por não adicionar o diretório AzCopy ao caminho, você precisará mudar os diretórios para o local do executável do azcopy e digitar azcopy
ou .\azcopy
nos prompts de comando do Windows PowerShell.
Como proprietário da conta do Armazenamento do Microsoft Azure, você não recebe permissões automaticamente para acessar dados. Antes de realizar qualquer trabalho significativo com o AzCopy, você precisa decidir como oferecerá credenciais de autorização ao serviço de armazenamento.
Autorizar o AzCopy
Você pode fornecer credenciais de autorização usando o Microsoft Entra ID ou usando um token SAS (Assinatura de Acesso Compartilhado).
Opção 1: usar o Microsoft Entra ID
Ao usar o Microsoft Entra ID, você pode fornecer credenciais uma vez, em vez de ter que acrescentar um token SAS a cada comando.
Opção 2: usar um token SAS
Você pode acrescentar um token SAS a cada URL de origem ou de destino usado nos comandos AzCopy.
Esse exemplo de comando copia recursivamente os dados de um diretório local para um contêiner de blobs. Um token SAS fictício é acrescentado ao final do URL do contêiner.
azcopy copy "C:\local\path" "https://account.blob.core.windows.net/mycontainer1/?sv=2018-03-28&ss=bjqt&srt=sco&sp=rwddgcup&se=2019-05-01T05:01:17Z&st=2019-04-30T21:01:17Z&spr=https&sig=MGCXiyEzbtttkr3ewJIh2AR8KrghSy1DGM9ovN734bQF4%3D" --recursive=true
Para saber mais sobre tokens SAS e como obter um, confira Usar assinaturas de acesso compartilhado (SAS).
Observação
A configuração Transferência segura é necessária de uma conta de armazenamento determina se a conexão com uma conta de armazenamento está protegida com TLS (segurança da camada de transporte). Essa configuração é habilitada por padrão.
Transferir dados
Depois de ter autorizado sua identidade ou obtido um token SAS, você poderá começar a transferir dados.
Para ver exemplos de comando, confira um destes artigos.
Serviço | Artigo |
---|---|
Armazenamento de Blobs do Azure | Carregar arquivos para o Armazenamento de Blobs do Azure |
Armazenamento de Blobs do Azure | Baixar blobs do Armazenamento de Blobs do Azure |
Armazenamento de Blobs do Azure | Copiar blobs entre as contas de armazenamento do Azure |
Armazenamento de Blobs do Azure | Sincronizar com o Armazenamento de Blobs do Azure |
Arquivos do Azure | Transferir dados com o AzCopy e o Armazenamento de Arquivos |
Amazon S3 | Copiar dados do Amazon S3 para o Armazenamento do Azure |
Google Cloud Storage | Copiar dados do Google Cloud Storage para o Armazenamento do Microsoft Azure (versão prévia) |
Armazenamento do Azure Stack | Transferir dados com o AzCopy e o armazenamento do Azure Stack |
Obter ajuda de comando
Para ver uma lista de comandos, digite azcopy -h
e pressione a tecla ENTER.
Para saber mais sobre um comando específico, apenas inclua o nome do comando (por exemplo: azcopy list -h
).
Lista de comandos
A tabela a seguir lista todos os comandos AzCopy v10. Cada comando é vinculado a um artigo de referência.
Comando | Descrição |
---|---|
azcopy bench | Executa um parâmetro de comparação de desempenho com o upload ou o download dos dados de teste de um local especificado. |
azcopy copy | Copia os dados de origem para um local de destino |
azcopy doc | Gera documentação para a ferramenta no formato Markdown. |
azcopy env | Mostra as variáveis de ambiente que podem configurar o comportamento do AzCopy. |
azcopy jobs | Subcomandos relacionados ao gerenciamento de trabalhos. |
azcopy jobs clean | Remover todos os arquivos de log e de plano de todos os trabalhos. |
azcopy jobs list | Exibe informações sobre todos os trabalhos. |
azcopy jobs remove | Remova todos os arquivos associados ao ID de trabalho informado. |
azcopy jobs resume | Retoma o trabalho existente com o ID de trabalho informado. |
azcopy jobs show | Mostra informações detalhadas do ID de trabalho informado. |
azcopy list | Lista as entidades em um determinado recurso. |
azcopy login | Faça logon no Microsoft Entra ID para acessar os recursos do Armazenamento do Azure. |
azcopy login status | Lista as entidades em um determinado recurso. |
azcopy logout | Faz logoff do usuário e encerra o acesso aos recursos do Armazenamento do Microsoft Azure. |
azcopy make | Cria um compartilhamento de arquivo ou contêiner. |
azcopy remove | Exclua blobs ou arquivos de uma conta de armazenamento do Azure. |
azcopy sync | Replica o local de origem para o local de destino. |
azcopy set-properties | Altere a camada de acesso de um ou mais blobs e substituir (sobrescrever) os metadados e as marcas de índice de um ou mais blobs. |
Observação
O AzCopy não tem um comando para renomear arquivos.
Usa em um script
Obter um link de download estático
Ao longo do tempo, o link de download do AzCopy apontará para novas versões do AzCopy. O script que baixar o AzCopy poderá parar de funcionar se uma versão mais recente do AzCopy modificar os recursos dependentes do script.
Para evitar esses problemas, obtenha um link estático (inalterável) para a versão atual do AzCopy. Assim, o script baixará a mesma versão exata do AzCopy cada vez que for executado.
Para receber o link, execute este comando:
Sistema operacional | Comando |
---|---|
Linux | curl -s -D- https://aka.ms/downloadazcopy-v10-linux \| grep ^Location |
Windows PowerShell | (Invoke-WebRequest -Uri https://aka.ms/downloadazcopy-v10-windows -MaximumRedirection 0 -ErrorAction SilentlyContinue).headers.location |
PowerShell 6.1+ | (Invoke-WebRequest -Uri https://aka.ms/downloadazcopy-v10-windows -MaximumRedirection 0 -ErrorAction SilentlyContinue -SkipHttpErrorCheck).headers.location |
Observação
Para o Linux, --strip-components=1
no comando tar
remove a pasta de nível superior que contém o nome da versão e, em vez disso, extrai o binário diretamente para a pasta atual. Isso permite atualizar o script com uma nova versão do azcopy
atualizando apenas o URL de wget
.
O URL aparece na saída desse comando. O script pode então baixar o AzCopy com esse URL.
Linux
wget -O azcopy_v10.tar.gz https://aka.ms/downloadazcopy-v10-linux && tar -xf azcopy_v10.tar.gz --strip-components=1
Windows PowerShell
Invoke-WebRequest -Uri 'https://azcopyvnext.azureedge.net/release20220315/azcopy_windows_amd64_10.14.1.zip' -OutFile 'azcopyv10.zip'
Expand-archive -Path '.\azcopyv10.zip' -Destinationpath '.\'
$AzCopy = (Get-ChildItem -path '.\' -Recurse -File -Filter 'azcopy.exe').FullName
# Invoke AzCopy
& $AzCopy
PowerShell 6.1+
Invoke-WebRequest -Uri 'https://azcopyvnext.azureedge.net/release20220315/azcopy_windows_amd64_10.14.1.zip' -OutFile 'azcopyv10.zip'
$AzCopy = (Expand-archive -Path '.\azcopyv10.zip' -Destinationpath '.\' -PassThru | where-object {$_.Name -eq 'azcopy.exe'}).FullName
# Invoke AzCopy
& $AzCopy
Caracteres especiais de escape em tokens SAS
Em arquivos em lotes que têm a extensão .cmd
, você terá que fazer o escape dos caracteres %
que aparecem nos tokens SAS. Você pode fazer isso ao adicionar um caractere %
ao lado dos caracteres %
existentes na cadeia de caracteres do token SAS. A sequência de caracteres resultante aparece como %%
. Verifique se você está adicionando um ^
extra antes de cada caractere &
para criar a sequência de caracteres ^&
.
Executar scripts usando o Jenkins
Se planeja usar o Jenkins para executar scripts, não se esqueça de colocar o comando a seguir no início do script.
/usr/bin/keyctl new_session
Usar no Gerenciador de Armazenamento do Azure
O Gerenciador de Armazenamento usa AzCopy para executar todas as operações de transferência de dados. Você pode usar o Gerenciador de armazenamento se quiser aproveitar as vantagens de desempenho do AzCopy, mas preferir usar uma interface gráfica do usuário em vez da linha de comando para interagir com seus arquivos.
O Gerenciador de Armazenamento usa sua chave de conta para executar operações, portanto, depois de entrar no Gerenciador de Armazenamento, você não precisará fornecer credenciais de autorização adicionais.
Configurar, otimizar e corrigir
Confira qualquer dos recursos a seguir:
Usar uma versão anterior (preterida)
Se você precisar usar a versão anterior do AzCopy, confira um dos links a seguir:
Observação
Essas versões do AzCopy foram preteridas. A Microsoft recomenda usar o AzCopy v10.
Próximas etapas
Se você tiver dúvidas, problemas ou comentários gerais, envie-os na página no GitHub.