Carregar arquivos para o armazenamento de Blob do Azure usando AzCopy

Você pode carregar arquivos e diretórios para o armazenamento de Blob usando o utilitário de linha de comando AzCopy v10.

Para ver exemplos de outros tipos de tarefas, como baixar blobs, 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>'.

Criar um contentor

Você pode usar o comando azcopy make para criar um contêiner.

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 make 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>'

Exemplo

azcopy make 'https://mystorageaccount.blob.core.windows.net/mycontainer'

Exemplo (ponto de extremidade de armazenamento Data Lake)

azcopy make 'https://mystorageaccount.dfs.core.windows.net/mycontainer'

Para documentos de referência detalhados, consulte azcopy make.

Carregar um ficheiro

Carregue um arquivo 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 '<local-file-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-name>'

Exemplo

azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt'

Exemplo (ponto de extremidade de armazenamento Data Lake)

azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt'

Você também pode carregar um arquivo usando um símbolo curinga (*) em qualquer lugar no caminho ou nome do arquivo. Por exemplo: 'C:\myDirectory\*.txt', ou C:\my*\*.txt.

Carregar um diretório

Carregue um diretório usando o comando azcopy copy .

Este exemplo copia um diretório (e todos os arquivos nesse diretório) para um contêiner de blob. O resultado é um diretório no contêiner com o mesmo nome.

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 '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --recursive

Exemplo

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --recursive

Exemplo (ponto de extremidade de armazenamento Data Lake)

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --recursive

Para copiar para um diretório dentro do contêiner, basta especificar o nome desse diretório na cadeia de comandos.

Exemplo

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory' --recursive

Exemplo (ponto de extremidade de armazenamento Data Lake)

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory' --recursive

Se você especificar o nome de um diretório que não existe no contêiner, o AzCopy criará um novo diretório com esse nome.

Carregar conteúdo do diretório

Carregue o conteúdo de um diretório usando o comando azcopy copy . Use o símbolo curinga (*) para carregar o conteúdo sem copiar o próprio diretório que contém.

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 '<local-directory-path>\*' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<directory-path>'

Exemplo

azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory'

Exemplo (ponto de extremidade de armazenamento Data Lake)

azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory'

Anexe o --recursive sinalizador para carregar arquivos em todos os subdiretórios.

Carregar ficheiros específicos

Você pode carregar arquivos 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 arquivo completos

Use o comando azcopy copy com a --include-path opção. Separe nomes de arquivos individuais usando um ponto-e-vírgula (;).

Sintaxe

azcopy copy '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --include-path <semicolon-separated-file-list>

Exemplo

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --include-path 'photos;documents\myFile.txt' --recursive'

Exemplo (ponto de extremidade de armazenamento Data Lake)

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --include-path 'photos;documents\myFile.txt' --recursive'

Neste exemplo, AzCopy transfere o C:\myDirectory\photos diretório e o C:\myDirectory\documents\myFile.txt arquivo. Inclua a --recursive opção de transferir todos os arquivos no C:\myDirectory\photos diretório.

Você também pode excluir arquivos 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 '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --include-pattern <semicolon-separated-file-list-with-wildcard-characters>

Exemplo

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --include-pattern 'myFile*.txt;*.pdf*'

Exemplo (ponto de extremidade de armazenamento Data Lake)

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --include-pattern 'myFile*.txt;*.pdf*'

Você também pode excluir arquivos usando a --exclude-pattern opção. Para saber mais, consulte azcopy copy reference docs.

As --include-pattern opções e --exclude-pattern aplicam-se apenas a nomes de ficheiros e não ao caminho. Se você quiser copiar todos os arquivos de texto 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.

Carregar ficheiros 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 carregam arquivos que foram modificados na data especificada ou após ela.

Sintaxe

azcopy copy '<local-directory-path>\*' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>' --include-after <Date-Time-in-ISO-8601-format>

Exemplo

azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory'  --include-after '2020-08-19T15:04:00Z'

Exemplo (ponto de extremidade de armazenamento Data Lake)

azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory'   --include-after '2020-08-19T15:04:00Z'

Para obter uma referência detalhada, consulte os documentos de referência azcopy copy .

Carregar com tags de índice

Você pode carregar um arquivo e adicionar tags de índice de blob ao blob de destino.

Se estiver a utilizar a autorização do Microsoft Entra, tem de ser atribuída à entidade de segurança a função de Proprietário de Dados do Blob de Armazenamento ou tem de lhe ser dada permissão para a operação do fornecedor de recursos do Azure através de uma função personalizada do Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write Azure. Se você estiver usando um token SAS (Assinatura de Acesso Compartilhado), esse token deverá fornecer acesso às tags do blob por meio da t permissão SAS.

Para adicionar tags, use a --blob-tags opção junto com um par chave-valor codificado por URL. Por exemplo, para adicionar a chave my tag e um valor my tag value, você adicionaria --blob-tags='my%20tag=my%20tag%20value' ao parâmetro de destino.

Separe várias tags de índice usando um E comercial (&). Por exemplo, se você quiser adicionar uma chave my second tag e um valor my second tag value, a cadeia de caracteres de opção completa será --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'.

Os exemplos a seguir mostram como usar a --blob-tags opção.

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

Carregar um ficheiro

azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt' --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'

Carregar um diretório

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'

Carregar conteúdo do diretório

azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory' --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'

Nota

Se você especificar um diretório para a origem, todos os blobs copiados para o destino terão as mesmas tags especificadas no comando.

Carregar com sinalizadores opcionais

Você pode ajustar sua operação de upload usando sinalizadores opcionais. Aqui estão alguns exemplos.

Cenário Sinalizador
Carregue os ficheiros como Blobs de Acréscimo ou Blobs de Páginas. --blob-type=[BlockBlob|PageBlob|AppendBlob]
Carregue para uma camada de acesso específica (como a camada de arquivo). --block-blob-tier=[Nenhum|Quente|Legal|Arquivo]

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: