Introdução ao AzCopy
O AzCopy é um utilitário da linha de comandos que pode utilizar para copiar blobs ou ficheiros de/para uma conta de armazenamento. Este artigo ajuda-o a transferir o AzCopy, a ligar-se à sua conta de armazenamento e, em seguida, a transferir dados.
Nota
AzCopy V10 é a versão atualmente suportada do AzCopy. A ferramenta não é suportada 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, consulte a seção Usar a versão anterior do AzCopy deste artigo.
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 para 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:
- Copiando dados de uma fonte local para uma conta de armazenamento do Azure
- Copiar dados de uma conta de armazenamento do Azure para uma origem 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, 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 Blob do Azure ou 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, consulte:
- Carregar arquivos para o armazenamento de Blob do Azure usando AzCopy
- Baixar blobs do Armazenamento de Blobs do Azure usando o AzCopy
- Copiar blobs entre contas de armazenamento do Azure usando AzCopy
- Sincronizar com o Armazenamento de blobs do Azure com o AzCopy
Nota
O AzCopy não suporta cenários em que a origem ou o destino estão sendo ativamente alterados durante a transferência.
Instale o AzCopy no Linux usando um gerenciador de pacotes
Você pode instalar o AzCopy usando um pacote Linux hospedado no Linux Software Repository for Microsoft Products.
Faça o download do pacote de configuração do repositório.
Importante
Certifique-se de substituir 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
Faça o download do binário portátil AzCopy
Como alternativa à instalação de um pacote, você pode baixar o arquivo executável AzCopy V10 para qualquer diretório no seu computador.
- Windows de 64 bits (zip)
- Windows de 32 bits (zip)
- Linux x86-64 (alcatrão)
- Linux ARM64 (alcatrão)
- macOS (zip)
- macOS ARM64 Preview (zip)
Esses arquivos são compactados como um arquivo zip (Windows e Mac) ou um arquivo tar (Linux). Para baixar e descompactar o arquivo tar no Linux, consulte a documentação da sua distribuição Linux.
Para obter informações detalhadas sobre as versões do AzCopy, consulte a página da versão do AzCopy.
Nota
Se você quiser copiar dados de e para o serviço de armazenamento de Tabela do Azure, instale o AzCopy versão 7.3.
Executar o AzCopy
Para sua comodidade, considere adicionar a localização do diretório do AzCopy executável ao caminho do sistema para facilitar a utilização. Dessa forma, você pode digitar azcopy
a partir de qualquer diretório em seu sistema.
Se você optar por não adicionar o diretório AzCopy ao seu caminho, terá que alterar os diretórios para o local do executável AzCopy e digitar azcopy
ou .\azcopy
nos prompts de comando do Windows PowerShell.
Como proprietário da sua conta de Armazenamento do Azure, não lhe são atribuídas automaticamente permissões para aceder a dados. Antes de poder fazer qualquer coisa significativa com o AzCopy, você precisa decidir como fornecerá credenciais de autorização para o serviço de armazenamento.
Autorizar AzCopy
Você pode fornecer credenciais de autorização usando o Microsoft Entra ID ou um token SAS (Assinatura de Acesso Compartilhado).
Opção 1: Usar o Microsoft Entra ID
Usando 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 destino usado em seus comandos AzCopy.
Este comando de exemplo copia recursivamente dados de um diretório local para um contêiner de blob. Um token SAS fictício é anexado ao final da 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, consulte Usando assinaturas de acesso compartilhado (SAS).
Nota
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 (Transport Layer Security). Esta definição está ativada por predefinição.
Transferir dados
Depois de autorizar sua identidade ou obter um token SAS, você pode começar a transferir dados.
Para encontrar comandos de exemplo, consulte qualquer um destes artigos.
Serviço | Artigo |
---|---|
Armazenamento de Blobs do Azure | Carregar ficheiros 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 contas de armazenamento do Azure |
Armazenamento de Blobs do Azure | Sincronizar com o Armazenamento de Blobs do Azure |
Ficheiros do Azure | Transferir dados com o AzCopy e armazenamento de ficheiros |
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 Azure (visualização) |
Armazenamento do Azure Stack | Transferir dados com o armazenamento AzCopy e Azure Stack |
Obter ajuda para comandos
Para ver uma lista de comandos, digite azcopy -h
e pressione a tecla ENTER.
Para saber mais sobre um comando específico, basta incluir o nome do comando (Por exemplo: azcopy list -h
).
Lista de comandos
A tabela a seguir lista todos os comandos AzCopy v10. Cada comando vincula-se a um artigo de referência.
Comando | Description |
---|---|
banco azcopy | Executa um benchmark de desempenho carregando ou baixando dados de teste de ou para um local especificado. |
cópia azcopy | 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. |
Vagas de Azcopy | Subcomandos relacionados ao gerenciamento de trabalhos. |
azcopy trabalhos limpos | Remova todos os arquivos de log e planejamento para todos os trabalhos. |
lista de empregos azcopy | Exibe informações sobre todos os trabalhos. |
azcopy trabalhos remover | Remova todos os arquivos associados ao ID de trabalho fornecido. |
Resumo de trabalhos Azcopy | Retoma o trabalho existente com a ID do trabalho fornecida. |
Azcopy Jobs Show | Mostra informações detalhadas para o ID do trabalho fornecido. |
lista azcopy | Lista as entidades em um determinado recurso. |
azcopy login | Inicia sessão no Microsoft Entra ID para aceder aos recursos do Armazenamento do Azure. |
Estado de início de sessão do Azcopy | Lista as entidades em um determinado recurso. |
azcopy logout | Efetua logout do usuário e encerra o acesso aos recursos do Armazenamento do Azure. |
azcopy fazer | Cria um contêiner ou compartilhamento de arquivos. |
azcopy remover | Exclua blobs ou arquivos de uma conta de armazenamento do Azure. |
Sincronização Azcopy | Replica o local de origem para o local de destino. |
azcopy set-propriedades | Altere a camada de acesso de um ou mais blobs e substitua (substitua) os metadados e as tags de índice de um ou mais blobs. |
Nota
AzCopy não tem um comando para renomear arquivos.
Usar em um script
Obter um link de download estático
Com o tempo, o link de download do AzCopy apontará para novas versões do AzCopy. Se o seu script transferir o AzCopy, o script poderá deixar de funcionar se uma versão mais recente do AzCopy modificar as funcionalidades das quais o script depende.
Para evitar estes problemas, obtenha uma ligação estática (inalterável) para a versão atual do AzCopy. Desta forma, o seu script transfere a mesma versão exata do AzCopy de cada vez que é executado.
Para obter o link, execute este comando:
Sistema operativo | 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 |
Nota
Para Linux, --strip-components=1
o tar
comando on 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 que o script seja atualizado com uma nova versão do azcopy
atualizando apenas a wget
URL.
O URL aparece na saída deste comando. Seu script pode baixar AzCopy usando 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
Escape de caracteres especiais em tokens SAS
Em arquivos em lote que têm a .cmd
extensão, você terá que escapar dos %
caracteres que aparecem nos tokens SAS. Você pode fazer isso adicionando um caractere extra %
ao lado dos caracteres existentes %
na cadeia de caracteres do token SAS. A sequência de caracteres resultante aparece como %%
. Certifique-se de adicionar um extra ^
antes de cada &
caractere para criar a sequência ^&
de caracteres.
Executar scripts usando Jenkins
Se você planeja usar o Jenkins para executar scripts, certifique-se de colocar o seguinte comando no início do script.
/usr/bin/keyctl new_session
Usar no Gerenciador de Armazenamento do Azure
O Storage Explorer usa o AzCopy para executar todas as suas operações de transferência de dados. Você pode usar o Storage Explorer se quiser aplicar as vantagens de desempenho do AzCopy, mas prefere 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, não será necessário fornecer credenciais de autorização adicionais.
Configurar, otimizar e corrigir
Consulte qualquer um dos seguintes recursos:
Usar uma versão anterior (preterida)
Se você precisar usar a versão anterior do AzCopy, consulte um dos seguintes links:
Nota
Estas versões AzCopy foram preteridas. A Microsoft recomenda o uso do AzCopy v10.
Próximos passos
Se você tiver dúvidas, problemas ou comentários gerais, envie-os na página do GitHub .