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

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 entre 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 entre 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 entre 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 entre 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 diretório e o https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/photoshttps://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 blob e --exclude-pattern não ao caminho. Se você quiser copiar todos os arquivos de texto (blobs) que existem em uma árvore de diretório, use a opção para obter toda a -recursive á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.

Próximos passos

Encontre mais exemplos nestes artigos:

Consulte estes artigos para definir configurações, otimizar o desempenho e solucionar problemas: