Baixar blobs do Armazenamento de Blobs do Azure usando o AzCopy
Você pode baixar blobs e diretórios do armazenamento de Blob usando o utilitário de linha de comando AzCopy v10.
Para ver exemplos de outros tipos de tarefas, como carregar arquivos, sincronizar com o armazenamento de Blobs ou copiar blobs entre contas, consulte os links apresentados na seção Próximas etapas deste artigo.
Começar agora
Consulte o artigo Introdução ao AzCopy para baixar o AzCopy e saber mais sobre as maneiras de fornecer credenciais de autorização para o serviço de armazenamento.
Nota
Os exemplos neste artigo pressupõem que você forneceu credenciais de autorização usando o Microsoft Entra ID.
Se preferir usar um token SAS para autorizar o acesso aos dados de blob, você pode acrescentar esse token à URL do recurso em cada comando AzCopy. Por exemplo: 'https://<storage-account-name>.blob.core.windows.net/<container-name><SAS-token>'
.
Transferir um blob
Baixe um blob usando o comando azcopy copy .
Gorjeta
Este exemplo inclui argumentos de caminho com aspas simples (''). Use aspas simples em todos os shells de comando, exceto no Shell de Comando do Windows (cmd.exe). Se você estiver usando um Shell de Comando do Windows (cmd.exe), coloque argumentos de caminho com aspas duplas ("") em vez de aspas simples ('').
Sintaxe
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>' '<local-file-path>'
Exemplo
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt' 'C:\myDirectory\myTextFile.txt'
Exemplo (ponto de extremidade de armazenamento Data Lake)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt' 'C:\myDirectory\myTextFile.txt'
Nota
Se o valor da propriedade Content-md5
de um blob tiver um hash, o AzCopy calculará um hash MD5 para os dados transferidos e verificará se o hash MD5 armazenado na propriedade Content-md5
do blob corresponde ao hash calculado. Se esses valores não corresponderem, o download falhará, a menos que você substitua esse comportamento anexando --check-md5=NoCheck
ou --check-md5=LogOnly
ao comando copy.
Baixar um diretório
Baixe um diretório usando o comando azcopy copy .
Gorjeta
Este exemplo inclui argumentos de caminho com aspas simples (''). Use aspas simples em todos os shells de comando, exceto no Shell de Comando do Windows (cmd.exe). Se você estiver usando um Shell de Comando do Windows (cmd.exe), coloque argumentos de caminho com aspas duplas ("") em vez de aspas simples ('').
Sintaxe
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<directory-path>' '<local-directory-path>' --recursive
Exemplo
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory' 'C:\myDirectory' --recursive
Exemplo (ponto de extremidade de armazenamento Data Lake)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory' 'C:\myDirectory' --recursive
Este exemplo resulta em um diretório chamado C:\myDirectory\myBlobDirectory
que contém todos os blobs baixados.
Download do conteúdo do diretório
Pode transferir o conteúdo de um diretório sem copiar o próprio diretório com o símbolo de caráter universal (*).
Gorjeta
Este exemplo inclui argumentos de caminho com aspas simples (''). Use aspas simples em todos os shells de comando, exceto no Shell de Comando do Windows (cmd.exe). Se você estiver usando um Shell de Comando do Windows (cmd.exe), coloque argumentos de caminho com aspas duplas ("") em vez de aspas simples ('').
Nota
Atualmente, esse cenário é suportado apenas para contas que não têm um namespace hierárquico.
Sintaxe
azcopy copy 'https://<storage-account-name>.blob.core.windows.net/<container-name>/*' '<local-directory-path>/'
Exemplo
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory/*' 'C:\myDirectory'
Anexe o --recursive
sinalizador para baixar arquivos em todos os subdiretórios.
Baixar blobs específicos
Você pode baixar blobs específicos usando nomes de arquivo completos, nomes parciais com caracteres curinga (*) ou usando datas e horas.
Gorjeta
Estes exemplos incluem argumentos de caminho com aspas simples (''). Use aspas simples em todos os shells de comando, exceto no Shell de Comando do Windows (cmd.exe). Se você estiver usando um Shell de Comando do Windows (cmd.exe), coloque argumentos de caminho com aspas duplas ("") em vez de aspas simples ('').
Especificar vários nomes de blob completos
Use o comando azcopy copy com a --include-path
opção. Separe nomes de blob individuais usando um ponto-e-vírgula (;
).
Sintaxe
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>' '<local-directory-path>' --include-path <semicolon-separated-file-list>
Exemplo
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory' --include-path 'photos;documents\myFile.txt' --recursive
Exemplo (ponto de extremidade de armazenamento Data Lake)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory' --include-path 'photos;documents\myFile.txt'--recursive
Neste exemplo, AzCopy transfere o https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/photos
diretório e o https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/documents/myFile.txt
arquivo. Inclua a --recursive
opção de transferir todos os blobs no https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/photos
diretório.
Você também pode excluir blobs usando a --exclude-path
opção. Para saber mais, consulte azcopy copy reference docs.
Usar caracteres curinga
Use o comando azcopy copy com a --include-pattern
opção. Especifique nomes parciais que incluam os caracteres curinga. Separe os nomes usando um semicolin (;
).
Sintaxe
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>' '<local-directory-path>' --include-pattern <semicolon-separated-file-list-with-wildcard-characters>
Exemplo
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory' --include-pattern 'myFile*.txt;*.pdf*'
Exemplo (namespace hierárquico)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory' --include-pattern 'myFile*.txt;*.pdf*'
Você também pode excluir blobs usando a --exclude-pattern
opção. Para saber mais, consulte azcopy copy reference docs.
As --include-pattern
opções e aplicam-se apenas a nomes de --exclude-pattern
blob e não ao caminho. Se você quiser copiar todos os arquivos de texto (blobs) que existem em uma árvore de diretório, use a -recursive
opção para obter toda a árvore de diretórios e, em seguida, use o -include-pattern
e especifique *.txt
para obter todos os arquivos de texto.
Baixar blobs que foram modificados antes ou depois de uma data e hora
Use o comando azcopy copy com a --include-before
opção ou --include-after
. Especifique uma data e hora no formato ISO-8601 (Por exemplo: 2020-08-19T15:04:00Z
).
Os exemplos a seguir baixam arquivos que foram modificados na data especificada ou após ela.
Sintaxe
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>/*' '<local-directory-path>' --include-after <Date-Time-in-ISO-8601-format>
Exemplo
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/*' 'C:\myDirectory' --include-after '2020-08-19T15:04:00Z'
Exemplo (ponto de extremidade de armazenamento Data Lake)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory/*' 'C:\myDirectory' --include-after '2020-08-19T15:04:00Z'
Para obter uma referência detalhada, consulte os documentos de referência azcopy copy .
Baixar versões anteriores de um blob
Se você tiver ativado o controle de versão de blob, poderá baixar uma ou mais versões anteriores de um blob.
Primeiro, crie um arquivo de texto que contenha uma lista de IDs de versão. Cada ID de versão deve aparecer em uma linha separada. Por exemplo:
2020-08-17T05:50:34.2199403Z
2020-08-17T05:50:34.5041365Z
2020-08-17T05:50:36.7607103Z
Em seguida, use o comando azcopy copy com a --list-of-versions
opção. Especifique o local do arquivo de texto que contém a lista de versões (Por exemplo: D:\\list-of-versions.txt
).
Baixar um instantâneo de blob
Você pode baixar um instantâneo de blob fazendo referência ao valor DateTime de um instantâneo de blob.
Sintaxe
azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>?sharesnapshot=<DateTime-of-snapshot>' '<local-file-path>'
Exemplo
azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt?sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory\myTextFile.txt'
Exemplo (ponto de extremidade de armazenamento Data Lake)
azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt?sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory\myTextFile.txt'
Nota
Se você estiver usando um token SAS para autorizar o acesso a dados de blob, anexe o snapshot DateTime após o token SAS. Por exemplo: 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=/SOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B/3Eykf/JLs%3D&sharesnapshot=2020-09-23T08:21:07.0000000Z'
.
Download com sinalizadores opcionais
Você pode ajustar sua operação de download usando sinalizadores opcionais. Aqui estão alguns exemplos.
Cenário | Sinalizador |
---|---|
Descomprima automaticamente os ficheiros. | --descomprimir |
Especifique o quão detalhado você deseja que suas entradas de log relacionadas à cópia sejam. | --log-level=[AVISO|ERRO|INFO|NENHUM] |
Especifique se e como substituir os arquivos e blobs conflitantes no destino. | --overwrite=[true|false|ifSourceNewer|prompt] |
Para obter uma lista completa, consulte opções.
Download de conteúdos estáticos do site
O AzCopy não oferece suporte ao download de dados de sites estáticos hospedados no Armazenamento do Azure por meio do ponto de extremidade público, como https://mystorageaccount.z12.web.core.windows.net
. Em vez disso, use o $web
contêiner no ponto de extremidade de blob para baixar arquivos do seu site estático.
azcopy copy 'https://mystorageaccount.blob.core.windows.net/$web/*' 'C:\myDirectory' --recursive
Próximos passos
Encontre mais exemplos nestes artigos:
- Exemplos: Upload
- Exemplos: Copiar entre contas
- Exemplos: Sincronizar
- Exemplos: buckets do Amazon S3
- Exemplos: Google Cloud Storage
- Exemplos: Arquivos do Azure
- Tutorial: Migrar dados locais para armazenamento em nuvem usando o AzCopy
Consulte estes artigos para definir configurações, otimizar o desempenho e solucionar problemas: