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 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 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:
- Exemplos: Download
- 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: