Compartilhar via


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:

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.

  1. 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
    
  2. Instale o pacote de configuração do repositório.

    sudo rpm -i packages-microsoft-prod.rpm
    
  3. Exclua o pacote de configuração do repositório depois de instalá-lo.

    rm packages-microsoft-prod.rpm
    
  4. Atualize os arquivos de índice do pacote.

    sudo dnf update
    
  5. 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.

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 .\azcopynos 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).

Ajuda integrada

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

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.