Transferir dados com o AzCopy e o Armazenamento de Arquivos

O AzCopy é um utilitário de linha de comando que você pode usar para copiar arquivos de ou para uma conta de armazenamento. Este artigo contém comandos de exemplo que funcionam com os Arquivos do Azure.

Introdução

Confira o artigo Introdução ao AzCopy para baixar o AzCopy e aprender sobre as maneiras em que você pode fornecer credenciais de autorização para o serviço de armazenamento.

Observação

Os exemplos nesse artigo mostram o uso de um token SAS para autorizar o acesso. Entretanto, para comandos que têm como destino arquivos e diretórios, agora é possível fornecer credenciais de autorização usando o Microsoft Entra ID e omitir o token SAS desses comandos. Você ainda terá que usar um token SAS em qualquer comando destinado apenas ao compartilhamento de arquivos ou a conta (por exemplo: 'azcopy make https://mystorageaccount.file.core.windows.net/myfileshare' ou 'azcopy copy 'https://mystorageaccount.file.core.windows.net'.

Para saber mais, confira Autorizar AzCopy.

Criar compartilhamentos de arquivo

Você pode usar o comando azcopy make para criar um compartilhamento de arquivo. O exemplo nesta seção cria um compartilhamento de arquivo chamado myfileshare.

Dica

Este exemplo inclui argumentos de caminho com aspas simples (''). Use aspas simples em todos os shells de comando, exceto pelo shell de comando do Windows (cmd.exe). Se você estiver usando um shell de comando do Windows (cmd.exe), coloque os argumentos de caminho entre aspas duplas ("") em vez de aspas simples ('').

Sintaxe

azcopy make 'https://<storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>'

Exemplo

azcopy make 'https://mystorageaccount.file.core.windows.net/myfileshare?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'

Para obter documentos de referência detalhados, confira azcopy make.

Carregar arquivos

Você também pode usar o comando azcopy copy para carregar arquivos e diretórios do computador local.

Dica

Os exemplos nesta seção incluem argumentos de caminho com aspas simples (''). Use aspas simples em todos os shells de comando, exceto pelo shell de comando do Windows (cmd.exe). Se você estiver usando um shell de comando do Windows (cmd.exe), coloque os argumentos de caminho entre aspas duplas ("") em vez de aspas simples ('').

Esta seção contém os seguintes exemplos:

  • Fazer upload de um arquivo
  • Carregar um diretório
  • Carregar o conteúdo de um diretório
  • Carregar um arquivo específico

Dica

Você pode ajustar sua operação de upload usando sinalizadores opcionais. Alguns exemplos são mostrados a seguir.

Cenário Sinalizador
Copie ACLs (listas de controle de acesso) junto com os arquivos. --preserve-smb-permissions=[true|false]
Copie informações de propriedade SMB junto com os arquivos. --preserve-smb-info=[true|false]

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

Observação

AzCopy não calcula e armazena automaticamente o código hash md5 do arquivo para um arquivo com mais de 256 MB. Se você quiser que AzCopy faça isso, acrescente o sinalizador --put-md5 a cada comando de cópia. Desse modo, quando o arquivo é baixado, o AzCopy calcula um hash MD5 para dados baixados e verifica se o hash MD5 armazenado na propriedade Content-md5 do arquivo corresponde ao hash calculado.

Fazer upload de um arquivo

Sintaxe

azcopy copy '<local-file-path>' 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/<file-name>'

Exemplo

azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.file.core.windows.net/myfileshare/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' --preserve-smb-permissions=true --preserve-smb-info=true

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

Carregar um diretório

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

Sintaxe

azcopy copy '<local-directory-path>' 'https://<storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' --recursive

Exemplo

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileshare?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' --recursive --preserve-smb-permissions=true --preserve-smb-info=true

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

Exemplo

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory?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' --recursive --preserve-smb-permissions=true --preserve-smb-info=true

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

Carregar o conteúdo de um diretório

Usando o símbolo curinga (*), você pode fazer download do conteúdo de um diretório sem copiar o diretório propriamente dito.

Sintaxe

azcopy copy '<local-directory-path>/*' 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/<directory-path><SAS-token>'

Exemplo

azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory?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' --preserve-smb-permissions=true --preserve-smb-info=true

Observação

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

Carregar arquivos específicos

Você pode carregar arquivos específicos usando nomes de arquivo completos, nomes parciais com caracteres curinga (*) ou usando datas e horas.

Especificar vários nomes de arquivo completos

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

Sintaxe

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

Exemplo

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileshare?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --include-path 'photos;documents\myFile.txt' --preserve-smb-permissions=true --preserve-smb-info=true

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

Você também pode excluir arquivos usando a opção --exclude-path. Para saber mais, confira a documentação de referência do azcopy copy.

Usar caracteres curingas

Use o comando azcopy copy com a opção --include-pattern. Especifique nomes parciais que incluam os caracteres curinga. Separe os nomes usando ponto e vírgula (;).

Sintaxe

azcopy copy '<local-directory-path>' 'https://<storage-account-name>.file.core.windows.net/<file-share-or-directory-name><SAS-token>' --include-pattern <semicolon-separated-file-list-with-wildcard-characters>

Exemplo

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileshare?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --include-pattern 'myFile*.txt;*.pdf*' --preserve-smb-permissions=true --preserve-smb-info=true

Você também pode excluir arquivos usando a opção --exclude-pattern. Para saber mais, confira a documentação de referência do azcopy copy.

As opções --include-pattern e --exclude-pattern aplicam-se somente a nomes de arquivo e não ao caminho. Se você quiser copiar todos os arquivos de texto que existem em uma árvore de diretório, use a opção --recursive para obter a árvore de diretórios inteira e, depois, use o --include-pattern e especifique *.txt para obter todos os arquivos de texto.

Carregar arquivos que foram modificados após uma determinada data e hora

Use o comando azcopy copy com a opção --include-after. Especifique uma data e hora no formato ISO-8601 (por exemplo: 2020-08-19T15:04:00Z).

Sintaxe

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

Exemplo

azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.file.core.windows.net/myfileshare?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --include-after '2020-08-19T15:04:00Z' --preserve-smb-permissions=true --preserve-smb-info=true

Para referência detalhada, confira a documentação de referência do azcopy copy.

Baixar arquivos

Você pode usar o comando azcopy copy para baixar arquivos, diretórios e compartilhamentos de arquivo em seu computador local.

Dica

Os exemplos nesta seção incluem argumentos de caminho com aspas simples (''). Use aspas simples em todos os shells de comando, exceto pelo shell de comando do Windows (cmd.exe). Se você estiver usando um shell de comando do Windows (cmd.exe), coloque os argumentos de caminho entre aspas duplas ("") em vez de aspas simples ('').

Esta seção contém os seguintes exemplos:

  • Baixar um arquivo
  • Baixar um diretório
  • Baixar o conteúdo de um diretório
  • Baixar arquivos específicos

Dica

Você pode ajustar sua operação de download usando sinalizadores opcionais. Veja alguns exemplos:

Cenário Sinalizador
Copie ACLs (listas de controle de acesso) junto com os arquivos. --preserve-smb-permissions=[true|false]
Copie informações de propriedade SMB junto com os arquivos. --preserve-smb-info=[true|false]
Descompacte arquivos automaticamente. --decompress

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

Observação

Se o valor da propriedade Content-md5 de um arquivo contém um hash, o AzCopy calcula um hash MD5 para dados baixados e verifica se o hash MD5 armazenado na propriedade Content-md5 do arquivo corresponde ao hash calculado. Se esses valores não corresponderem, o download falhará, a menos que você substitua esse comportamento acrescentando --check-md5=NoCheck ou --check-md5=LogOnly ao comando de cópia.

Baixar um arquivo

Sintaxe

azcopy copy 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/<file-path><SAS-token>' '<local-file-path>'

Exemplo

azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/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' 'C:\myDirectory\myTextFile.txt' --preserve-smb-permissions=true --preserve-smb-info=true

Baixar um diretório

Sintaxe

azcopy copy 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/<directory-path><SAS-token>' '<local-directory-path>' --recursive

Exemplo

azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory?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' 'C:\myDirectory'  --recursive --preserve-smb-permissions=true --preserve-smb-info=true

Este exemplo resulta em um diretório chamado C:\myDirectory\myFileShareDirectory, que contém todos os arquivos baixados.

Baixar o conteúdo de um diretório

Você pode fazer download do conteúdo de um diretório sem copiar o próprio diretório usando o símbolo curinga (*).

Sintaxe

azcopy copy 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/*<SAS-token>' '<local-directory-path>/'

Exemplo

azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory/*?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' 'C:\myDirectory' --preserve-smb-permissions=true --preserve-smb-info=true

Observação

Acrescente o sinalizador --recursive para baixar arquivos em todos os subdiretórios.

Baixar arquivos específicos

Você pode baixar arquivos específicos usando nomes de arquivo completos, nomes parciais com caracteres curinga (*) ou usando datas e horas.

Especificar vários nomes de arquivo completos

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

Sintaxe

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

Exemplo

azcopy copy 'https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'C:\myDirectory'  --include-path 'photos;documents\myFile.txt' --recursive --preserve-smb-permissions=true --preserve-smb-info=true

Neste exemplo, AzCopy transfere o diretório https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory/photos e o arquivo https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory/documents/myFile.txt. Inclua a opção --recursive para transferir todos os arquivos no diretório https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory/photos.

Você também pode excluir arquivos usando a opção --exclude-path. Para saber mais, confira a documentação de referência do azcopy copy.

Usar caracteres curingas

Use o comando azcopy copy com a opção --include-pattern. Especifique nomes parciais que incluam os caracteres curinga. Separe os nomes usando ponto e vírgula (;).

Sintaxe

azcopy copy 'https://<storage-account-name>.file.core.windows.net/<file-share-or-directory-name><SAS-token>' '<local-directory-path>' --include-pattern <semicolon-separated-file-list-with-wildcard-characters>

Exemplo

azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myDirectory?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'C:\myDirectory'  --include-pattern 'myFile*.txt;*.pdf*' --preserve-smb-permissions=true --preserve-smb-info=true

Você também pode excluir arquivos usando a opção --exclude-pattern. Para saber mais, confira a documentação de referência do azcopy copy.

As opções --include-pattern e --exclude-pattern aplicam-se somente a nomes de arquivo e não ao caminho. Se você quiser copiar todos os arquivos de texto que existem em uma árvore de diretório, use a opção --recursive para obter a árvore de diretórios inteira e, depois, use o --include-pattern e especifique *.txt para obter todos os arquivos de texto.

Baixar arquivos que foram modificados após uma determinada data e hora

Use o comando azcopy copy com a opção --include-after. Especifique uma data e hora no formato ISO-8601 (por exemplo: 2020-08-19T15:04:00Z).

Sintaxe

azcopy copy 'https://<storage-account-name>.file.core.windows.net/<file-share-or-directory-name>/*<SAS-token>' '<local-directory-path>' --include-after <Date-Time-in-ISO-8601-format>

Exemplo

azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/*?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'C:\myDirectory' --include-after '2020-08-19T15:04:00Z' --preserve-smb-permissions=true --preserve-smb-info=true

Para referência detalhada, confira a documentação de referência do azcopy copy.

Baixar de um instantâneo de compartilhamento

Você pode baixar uma versão específica de um arquivo ou diretório referenciando o valor DateTime de um instantâneo de compartilhamento. Para saber mais sobre instantâneos de compartilhamento, confira Visão geral dos instantâneos de compartilhamento dos Arquivos do Azure.

Sintaxe

azcopy copy 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/<file-path-or-directory-name><SAS-token>&sharesnapshot=<DateTime-of-snapshot>' '<local-file-or-directory-path>'

Exemplo (Baixar um arquivo)

azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/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' 'C:\myDirectory\myTextFile.txt' --preserve-smb-permissions=true --preserve-smb-info=true

Exemplo (Baixar um diretório)

azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory?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' 'C:\myDirectory'  --recursive --preserve-smb-permissions=true --preserve-smb-info=true

Copiar arquivos entre as contas de armazenamento

Você pode usar o AzCopy para copiar arquivos para outras contas de armazenamento. A operação de cópia é síncrona para que todos os arquivos sejam copiados quando o comando retornar.

O AzCopy usa APIsde servidor para servidor, portanto, os dados são copiados diretamente entre os servidores de armazenamento. Você pode aumentar a taxa de transferência dessas operações definindo o valor da variável de ambiente AZCOPY_CONCURRENCY_VALUE. Para saber mais, consulte Aumentar a Simultaneidade.

Você também pode copiar versões específicas de um arquivo referenciando o valor DateTime de um instantâneo de compartilhamento. Para saber mais sobre instantâneos de compartilhamento, confira Visão geral dos instantâneos de compartilhamento dos Arquivos do Azure.

Dica

Os exemplos nesta seção incluem argumentos de caminho com aspas simples (''). Use aspas simples em todos os shells de comando, exceto pelo shell de comando do Windows (cmd.exe). Se você estiver usando um shell de comando do Windows (cmd.exe), coloque os argumentos de caminho entre aspas duplas ("") em vez de aspas simples ('').

Esta seção contém os seguintes exemplos:

  • Copiar um arquivo para outra conta de armazenamento
  • Copiar um diretório para outra conta de armazenamento
  • Copiar um compartilhamento de arquivo para outra conta de armazenamento
  • Copiar todos os compartilhamentos de arquivos, diretórios e arquivos para outra conta de armazenamento

Dica

Você pode ajustar sua operação de cópia usando sinalizadores opcionais. Alguns exemplos são mostrados a seguir.

Cenário Sinalizador
Copie ACLs (listas de controle de acesso) junto com os arquivos. --preserve-smb-permissions=[true|false]
Copie informações de propriedade SMB junto com os arquivos. --preserve-smb-info=[true|false]

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

Copiar um arquivo para outra conta de armazenamento

Sintaxe

azcopy copy 'https://<source-storage-account-name>.file.core.windows.net/<file-share-name>/<file-path><SAS-token>' 'https://<destination-storage-account-name>.file.core.windows.net/<file-share-name>/<file-path><SAS-token>'

Exemplo

azcopy copy 'https://mysourceaccount.file.core.windows.net/mycontainer/myTextFile.txt?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'https://mydestinationaccount.file.core.windows.net/mycontainer/myTextFile.txt?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --preserve-smb-permissions=true --preserve-smb-info=true

Exemplo (instantâneo de compartilhamento)

azcopy copy 'https://mysourceaccount.file.core.windows.net/mycontainer/myTextFile.txt?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'https://mydestinationaccount.file.core.windows.net/mycontainer/myTextFile.txt?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --preserve-smb-permissions=true --preserve-smb-info=true

Copiar um diretório para outra conta de armazenamento

Sintaxe

azcopy copy 'https://<source-storage-account-name>.file.core.windows.net/<file-share-name>/<directory-path><SAS-token>' 'https://<destination-storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' --recursive

Exemplo

azcopy copy 'https://mysourceaccount.file.core.windows.net/myFileShare/myFileDirectory?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'https://mydestinationaccount.file.core.windows.net/mycontainer?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --recursive --preserve-smb-permissions=true --preserve-smb-info=true

Exemplo (instantâneo de compartilhamento)

azcopy copy 'https://mysourceaccount.file.core.windows.net/myFileShare/myFileDirectory?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'https://mydestinationaccount.file.core.windows.net/mycontainer?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --recursive --preserve-smb-permissions=true --preserve-smb-info=true

Copiar um compartilhamento de arquivo para outra conta de armazenamento

Sintaxe

azcopy copy 'https://<source-storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' 'https://<destination-storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' --recursive

Exemplo

azcopy copy 'https://mysourceaccount.file.core.windows.net/mycontainer?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'https://mydestinationaccount.file.core.windows.net/mycontainer?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D --preserve-smb-permissions=true --preserve-smb-info=true

Exemplo (instantâneo de compartilhamento)

azcopy copy 'https://mysourceaccount.file.core.windows.net/mycontainer?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'https://mydestinationaccount.file.core.windows.net/mycontainer?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --recursive --preserve-smb-permissions=true --preserve-smb-info=true

Copiar todos os compartilhamentos de arquivos, diretórios e arquivos para outra conta de armazenamento

Sintaxe

azcopy copy 'https://<source-storage-account-name>.file.core.windows.net/<SAS-token>' 'https://<destination-storage-account-name>.file.core.windows.net/<SAS-token>' --recursive'

Exemplo

azcopy copy 'https://mysourceaccount.file.core.windows.net?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'https://mydestinationaccount.file.core.windows.net?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --recursive --preserve-smb-permissions=true --preserve-smb-info=true

Exemplo (instantâneo de compartilhamento)

azcopy copy 'https://mysourceaccount.file.core.windows.net?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'https://mydestinationaccount.file.core.windows.net?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --recursive --preserve-smb-permissions=true --preserve-smb-info=true

Sincronizar arquivos

Você pode sincronizar o conteúdo de um sistema de arquivos local com um compartilhamento de arquivos ou sincronizar o conteúdo de um compartilhamento de arquivos com outro compartilhamento de arquivos. Você também pode sincronizar o conteúdo de um diretório em um compartilhamento de arquivo com o conteúdo de um diretório localizado em outro compartilhamento de arquivo. A sincronização é de via única. Em outras palavras, você escolhe qual desses dois pontos de extremidade é a origem e qual deles é o destino. A sincronização também usa APIs de servidor para servidor.

Observação

Atualmente, esse cenário possui suporte para contas que habilitaram o namespace hierárquico por meio do ponto de extremidade do blob.

Aviso

O AzCopy sync tem suporte, mas não é totalmente recomendado para Arquivos do Azure. O AzCopy sync não dá suporte a cópias diferenciais em escala e algumas fidelidades de arquivo podem ser perdidas. Para saber mais, confira Migrar para compartilhamentos de arquivo do Azure.

Diretrizes

Por padrão, o comando sync compara os nomes de arquivos e os carimbos de data/hora da última modificação. Você pode substituir esse comportamento para usar hashes MD5 em vez de carimbos de data/hora da última modificação usando o sinalizador --compare-hash. Defina o sinalizador opcional --delete-destination como um valor de true ou prompt para excluir arquivos no diretório de destino se esses arquivos não existirem mais no diretório de origem.

  • Se você definir o sinalizador --delete-destination como true, o AzCopy excluirá os arquivos sem fornecer um prompt. Se você quiser que um prompt apareça antes de AzCopy excluir um arquivo, defina o sinalizador --delete-destination como prompt.

  • Se você planeja definir o sinalizador --delete-destination como prompt ou false, considere usar o comando copy em vez do comando sync e definir o parâmetro --overwrite como ifSourceNewer. O comando copy consome menos memória e gera menos custos de cobrança porque uma operação de cópia não precisa indexar a origem nem o destino antes de mover arquivos.

  • Caso você não pretenda usar o sinalizador --compare-hash, o computador no qual você executa o comando sync deve ter um relógio do sistema preciso, porque as horas da última modificação são críticas para determinar se um arquivo deve ser transferido. Se o sistema tiver uma distorção significativa do relógio, evite modificar arquivos no destino em uma hora muito próxima da qual você planeja executar um comando sync.

  • O AzCopy usa as APIs de servidor para servidor para sincronizar dados entre contas de armazenamento. Isso significa que os dados são copiados diretamente entre servidores de armazenamento. No entanto, o AzCopy configura e monitora cada transferência e para contas de armazenamento maiores (por exemplo, contas que contêm milhões de blobs), o AzCopy pode exigir uma quantidade substancial de recursos de computação para realizar essas tarefas. Portanto, se você estiver executando o AzCopy da VM (Máquina Virtual), verifique se a VM tem núcleos/memória suficientes para tratar a carga.

Dica

Você pode ajustar sua operação de sincronização usando sinalizadores opcionais. Alguns exemplos são mostrados a seguir.

Cenário Sinalizador
Copie ACLs (listas de controle de acesso) junto com os arquivos. --preserve-smb-permissions=[true|false]
Copie informações de propriedade SMB junto com os arquivos. --preserve-smb-info=[true|false]
Excluir arquivos com base em um padrão. --exclude-path
Especifique o nível de detalhamento que você deseja nas entradas de log relacionadas à sincronização. --log-level=[WARNING|ERROR|INFO|NONE]

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

Os exemplos nesta seção incluem argumentos de caminho com aspas simples (''). Use aspas simples em todos os shells de comando, exceto pelo shell de comando do Windows (cmd.exe). Se você estiver usando um shell de comando do Windows (cmd.exe), coloque os argumentos de caminho entre aspas duplas ("") em vez de aspas simples ('').

Atualizar um compartilhamento de arquivo com alterações em um sistema de arquivos local

Nesse caso, o compartilhamento de arquivo é o destino e o sistema de arquivos local é a origem.

Dica

Este exemplo inclui argumentos de caminho com aspas simples (''). Use aspas simples em todos os shells de comando, exceto pelo shell de comando do Windows (cmd.exe). Se você estiver usando um shell de comando do Windows (cmd.exe), coloque os argumentos de caminho entre aspas duplas ("") em vez de aspas simples ('').

Sintaxe

azcopy sync '<local-directory-path>' 'https://<storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' --recursive

Exemplo

azcopy sync 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileShare?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --recursive

Atualizar um sistema de arquivos local com alterações em um compartilhamento de arquivo

Nesse caso, o sistema de arquivos local é o destino e o compartilhamento de arquivo é a origem.

Dica

Este exemplo inclui argumentos de caminho com aspas simples (''). Use aspas simples em todos os shells de comando, exceto pelo shell de comando do Windows (cmd.exe). Se você estiver usando um shell de comando do Windows (cmd.exe), coloque os argumentos de caminho entre aspas duplas ("") em vez de aspas simples ('').

Sintaxe

azcopy sync 'https://<storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' 'C:\myDirectory' --recursive

Exemplo

azcopy sync 'https://mystorageaccount.file.core.windows.net/myfileShare?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'C:\myDirectory' --recursive

Atualizar um compartilhamento de arquivo com alterações em outro compartilhamento de arquivo

O primeiro compartilhamento de arquivo que aparece nesse comando é a origem. O segundo é o destino.

Sintaxe

azcopy sync 'https://<source-storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' 'https://<destination-storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' --recursive

Exemplo

azcopy sync 'https://mysourceaccount.file.core.windows.net/myfileShare?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'https://mydestinationaccount.file.core.windows.net/myfileshare?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --recursive --preserve-smb-permissions=true --preserve-smb-info=true

Atualizar um diretório com alterações em um diretório em outro compartilhamento de arquivo

O primeiro diretório que aparece nesse comando é a origem. O segundo é o destino.

Sintaxe

azcopy sync 'https://<source-storage-account-name>.file.core.windows.net/<file-share-name>/<directory-name><SAS-token>' 'https://<destination-storage-account-name>.file.core.windows.net/<file-share-name>/<directory-name><SAS-token>' --recursive

Exemplo

azcopy sync 'https://mysourceaccount.file.core.windows.net/myFileShare/myDirectory?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' 'https://mydestinationaccount.file.core.windows.net/myFileShare/myDirectory?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --recursive --preserve-smb-permissions=true --preserve-smb-info=true

Atualizar um compartilhamento de arquivo para corresponder ao conteúdo de um instantâneo de compartilhamento

O primeiro compartilhamento de arquivo que aparece nesse comando é a origem. No final do URI, acrescente a cadeia de caracteres &sharesnapshot= seguida pelo valor DateTime do instantâneo.

Sintaxe

azcopy sync 'https://<source-storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>&sharesnapsot<snapshot-ID>' 'https://<destination-storage-account-name>.file.core.windows.net/<file-share-name><SAS-token>' --recursive

Exemplo

azcopy sync 'https://mysourceaccount.file.core.windows.net/myfileShare?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D&sharesnapshot=2020-03-03T20%3A24%3A13.0000000Z' 'https://mydestinationaccount.file.core.windows.net/myfileshare?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-07-04T05:30:08Z&st=2019-07-03T21:30:08Z&spr=https&sig=CAfhgnc9gdGktvB=ska7bAiqIddM845yiyFwdMH481QA8%3D' --recursive --preserve-smb-permissions=true --preserve-smb-info=true

Para saber mais sobre instantâneos de compartilhamento, confira Visão geral dos instantâneos de compartilhamento dos Arquivos do Azure.

Próximas etapas

Encontre mais exemplos em qualquer um destes artigos:

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