Partilhar via


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.

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:

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.

  1. 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
    
  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
    

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.

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

Ajuda inline

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

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 .