Faça upload de ficheiros para o armazenamento do Azure Blob utilizando o AzCopy

Pode fazer o upload de ficheiros e diretórios para o armazenamento blob utilizando o utilitário de linha de comando AzCopy v10.

Para ver exemplos para outros tipos de tarefas, tais como o descarregamento de bolhas, sincronização com armazenamento Blob ou cópia de bolhas entre contas, consulte os links apresentados na secção Etapas Seguintes deste artigo.

Introdução

Consulte o artigo da AzCopy para descarregar o AzCopy e saiba como pode fornecer credenciais de autorização ao serviço de armazenamento.

Nota

Os exemplos deste artigo assumem que forneceu credenciais de autorização utilizando o Azure Ative Directory (Azure AD).

Se preferir usar um token SAS para autorizar o acesso a dados blob, então pode anexar esse símbolo ao URL de recursos em cada comando AzCopy. Por exemplo: 'https://<storage-account-name>.blob.core.windows.net/<container-name><SAS-token>'.

Criar um contentor

Pode utilizar a azcopia para criar um recipiente.

Dica

Este exemplo encerra argumentos de caminho com citações únicas ('). Utilize aspas únicas em todas as cápsulas de comando, exceto no Windows Command Shell (cmd.exe). Se estiver a utilizar uma Concha de Comando do Windows (cmd.exe), encobre argumentos de caminho com citações duplas ("") em vez de cotações individuais (').

Este é um exemplo de tabela:

Syntax

azcopy make 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>'

Exemplo

https://mystorageaccount.blob.core.windows.net/mycontainer

Exemplo (espaço hierárquico)

https://mystorageaccount.dfs.core.windows.net/mycontainer

Para obter documentos de referência detalhados, consulte a azcopia make.

Carregar um ficheiro

Faça o upload de um ficheiro utilizando o comando de cópia azcopia.

Dica

Este exemplo encerra argumentos de caminho com citações únicas ('). Utilize aspas únicas em todas as cápsulas de comando, exceto no Windows Command Shell (cmd.exe). Se estiver a utilizar uma Concha de Comando do Windows (cmd.exe), encobre argumentos de caminho com citações duplas ("") em vez de cotações individuais (').

Syntax

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 (espaço hierárquico)

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

Também pode fazer o upload de um ficheiro utilizando um símbolo wildcard (*) em qualquer lugar do caminho do ficheiro ou nome de ficheiro. Por exemplo: 'C:\myDirectory\*.txt' ou C:\my*\*.txt . .

Faça upload de um diretório

Faça o upload de um diretório utilizando o comando de cópia azcopia.

Este exemplo copia um diretório (e todos os ficheiros desse diretório) para um recipiente de bolhas. O resultado é um diretório no contentor com o mesmo nome.

Dica

Este exemplo encerra argumentos de caminho com citações únicas ('). Utilize aspas únicas em todas as cápsulas de comando, exceto no Windows Command Shell (cmd.exe). Se estiver a utilizar uma Concha de Comando do Windows (cmd.exe), encobre argumentos de caminho com citações duplas ("") em vez de cotações individuais (').

Syntax

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 (espaço hierárquico)

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

Para copiar para um diretório dentro do contentor, basta especificar o nome desse diretório na sua cadeia de comando.

Exemplo

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

Exemplo (espaço hierárquico)

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

Se especificar o nome de um diretório que não existe no contentor, o AzCopy cria um novo diretório com esse nome.

Carregar conteúdos de diretório

Faça o upload do conteúdo de um diretório utilizando o comando de cópia azcopia. Utilize o símbolo wildcard (*) para carregar o conteúdo sem copiar o próprio diretório.

Dica

Este exemplo encerra argumentos de caminho com citações únicas ('). Utilize aspas únicas em todas as cápsulas de comando, exceto no Windows Command Shell (cmd.exe). Se estiver a utilizar uma Concha de Comando do Windows (cmd.exe), encobre argumentos de caminho com citações duplas ("") em vez de cotações individuais (').

Syntax

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 (espaço hierárquico)

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

Anexar a --recursive bandeira para carregar ficheiros em todas as subdiretivas.

Fazer upload de ficheiros específicos

Pode fazer o upload de ficheiros específicos utilizando nomes de ficheiros completos, nomes parciais com caracteres wildcard (*), ou utilizando datas e horários.

Dica

Estes exemplos encerram argumentos de caminho com citações simples ('). Utilize aspas únicas em todas as cápsulas de comando, exceto no Windows Command Shell (cmd.exe). Se estiver a utilizar uma Concha de Comando do Windows (cmd.exe), encobre argumentos de caminho com citações duplas ("") em vez de cotações individuais (').

Especifique vários nomes completos de ficheiros

Utilize o comando de cópia azcopia com a --include-path opção. Separe os nomes individuais dos ficheiros utilizando um ponto e vírgula ; ().

Syntax

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 (espaço hierárquico)

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

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

Também pode excluir ficheiros utilizando a --exclude-path opção. Para saber mais, consulte os docs de referência de cópias de azcopia.

Use caracteres wildcard

Utilize o comando de cópia azcopia com a --include-pattern opção. Especifique nomes parciais que incluem os caracteres wildcard. Separar nomes utilizando uma esímina ; ().

Syntax

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 (espaço hierárquico)

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

Também pode excluir ficheiros utilizando a --exclude-pattern opção. Para saber mais, consulte os docs de referência de cópias de azcopia.

As --include-pattern --exclude-pattern opções aplicam-se apenas aos dados de filenames e não ao caminho. Se quiser copiar todos os ficheiros de texto que existem numa árvore de diretório, use –recursive a opção para obter todo o diretório e, em seguida, use o –include-pattern e especificar para obter todos os *.txt ficheiros de texto.

Carregar ficheiros que foram modificados antes ou depois de uma data e hora

Utilize o comando de cópia azcopia com a --include-before opção ou --include-after opção. Especifique uma data e hora no formato ISO-8601 (Por exemplo: 2020-08-19T15:04:00Z ).

Os seguintes exemplos carregam ficheiros que foram modificados na ou após a data especificada.

Syntax

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 (espaço hierárquico)

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 da cópia da azcopia.

Upload com etiquetas de índice

Pode carregar um ficheiro e adicionar tags de índice blob (pré-visualização) à bolha-alvo.

Se estiver a utilizar a autorização Azure AD, o seu principal de segurança deve ser atribuído à função de Proprietário de Dados de Armazenamento blob ou deve ser dada permissão à operação do Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write fornecedor de recursos Azure através de uma função Azure personalizada. Se estiver a utilizar um token de Assinatura de Acesso Partilhado (SAS), esse token deve fornecer acesso às etiquetas da bolha através da t permissão SAS.

Para adicionar tags, utilize a --blob-tags opção juntamente com um url codificado par de valores-chave. Por exemplo, para adicionar a chave my tag e um my tag value valor, adicionaria --blob-tags='my%20tag=my%20tag%20value' ao parâmetro de destino.

Separe várias etiquetas de índice utilizando um ampersand & (). Por exemplo, se pretender adicionar uma chave my second tag e um my second tag value valor, a cadeia completa de opções será --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value' .

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

Dica

Este exemplo encerra argumentos de caminho com citações únicas ('). Utilize aspas únicas em todas as cápsulas de comando, exceto no Windows Command Shell (cmd.exe). Se estiver a utilizar uma Concha de Comando do Windows (cmd.exe), encobre argumentos de caminho com citações duplas ("") em vez de cotações individuais (').

Faça upload de 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'

Faça upload de 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údos de 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 especificar um diretório para a fonte, todas as bolhas que são copiadas para o destino terão as mesmas etiquetas que especifica no comando.

Upload com bandeiras opcionais

Pode ajustar a sua operação de upload utilizando bandeiras opcionais. Aqui estão alguns exemplos.

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

Para obter uma lista completa, consulte as opções.

Passos seguintes

Encontre mais exemplos nestes artigos:

Consulte estes artigos para configurar definições, otimizar o desempenho e resolver problemas: