Partilhar via


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.

Introdução

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ê forneça credenciais de autorização usando o Microsoft Entra ID.

Se você quiser usar um token SAS para autorizar o acesso a dados de blob, acrescente 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

Use o comando azcopy make para criar um contêiner.

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ê usar 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

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ê usar 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

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ê usar 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

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ê usar 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 ponto-e-vírgula (;).

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 utilizar a autorização do Microsoft Entra, atribua a função de Proprietário de Dados do Blob de Armazenamento à entidade de segurança, ou conceda permissão à operação do Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write através de uma função personalizada do Azure. Se utilizar um token SAS (Assinatura de Acesso Compartilhado), o token deverá fornecer acesso às tags do blob por meio da permissão SAS t.

Para adicionar tags, use a opção --blob-tags com um par chave-valor codificado por URL. Por exemplo, para adicionar a chave my tag e o valor my tag value, inclua --blob-tags='my%20tag=my%20tag%20value' no parâmetro destination.

Separe várias tags de índice com um e comercial (&). Por exemplo, para adicionar a chave my second tag e o valor my second tag value, a cadeia de caracteres de opção completa é --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

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ê usar 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.

Especificar tipos de origem e destino

AzCopy usa o --from-to parâmetro para definir explicitamente os tipos de recursos de origem e destino quando a deteção automática pode falhar - como em cenários de piping ou emuladores. Este parâmetro ajuda o AzCopy a entender o contexto da transferência e otimizar de acordo.

Valor FromTo Description
LocalBlob Carregar do sistema de arquivos local para o Armazenamento de Blobs do Azure
LocalBlobFS Carregar do sistema de arquivos local para o Azure Data Lake Gen2 (BlobFS)
PipeBlob Transmitir dados de um pipe para o Armazenamento de Blobs do Azure
PipeFile Transmitir dados de um pipe para o Armazenamento de Arquivos do Azure

Próximos passos

Encontre mais exemplos nestes artigos:

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