Transferir dados com o AzCopy e armazenamento de ficheiros

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 Arquivos do Azure.

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 mostram o uso de um token SAS para autorizar o acesso. No entanto, para comandos destinados a arquivos e diretórios, agora você pode fornecer credenciais de autorização usando o ID do Microsoft Entra e omitir o token SAS desses comandos. Você ainda terá que usar um token SAS em qualquer comando direcionado apenas ao compartilhamento de arquivos ou à conta (por exemplo: 'azcopy make https://mystorageaccount.file.core.windows.net/myfileshare' ou 'azcopy copy 'https://mystorageaccount.file.core.windows.net'.

Para saber mais, consulte Autorizar AzCopy.

Criar partilhas de ficheiros

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

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>.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 documentos de referência detalhados, consulte azcopy make.

Carregar ficheiros

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

Gorjeta

Os exemplos nesta seção 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 ('').

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

  • Carregar um ficheiro
  • Carregar um diretório
  • Carregar o conteúdo de um diretório
  • Carregar um ficheiro específico

Gorjeta

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

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

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

Nota

O AzCopy não calcula e armazena automaticamente o código hash md5 do ficheiro para um ficheiro com mais de 256 MB. Se você quiser que o AzCopy faça isso, anexe o sinalizador --put-md5 a cada comando copy. Assim, quando o ficheiro é transferido, o AzCopy calculará um hash MD5 para os dados transferidos e verificará se o hash MD5 armazenado na propriedade Content-md5 do ficheiro corresponde ao hash calculado.

Carregar um ficheiro

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 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 ficheiros nesse diretório) para uma partilha de ficheiros. O resultado é um diretório na partilha de ficheiros 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 arquivos, basta especificar o nome desse diretório na cadeia de comandos.

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 novo diretório com esse nome.

Carregar o conteúdo de um diretório

Você pode carregar o conteúdo de um diretório sem copiar o próprio diretório que contém usando o símbolo curinga (*).

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

Nota

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.

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>.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 C:\myDirectory\photos diretório e o C:\myDirectory\documents\myFile.txt arquivo. Você precisa incluir a --recursive opção para 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>.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 --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 após uma data e hora

Use o comando azcopy copy com a --include-after opção. 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 obter uma referência detalhada, consulte os documentos de referência azcopy copy .

Transferir ficheiros

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

Gorjeta

Os exemplos nesta seção 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 ('').

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

  • Transferir um ficheiro
  • Baixar um diretório
  • Descarregar o conteúdo de um diretório
  • Download de arquivos específicos

Gorjeta

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

Cenário Sinalizador
Copie listas de controle de acesso (ACLs) junto com os arquivos. --preserve-smb-permissions=[verdadeiro|falso]
Copie as informações da propriedade SMB junto com os arquivos. --preserve-smb-info=[verdadeiro|falso]
Descomprima automaticamente os ficheiros. --descomprimir

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

Nota

Se o valor da propriedade Content-md5 de um ficheiro tiver um hash, o AzCopy calculará um hash MD5 para os dados transferidos e verificará se o hash MD5 armazenado na propriedade Content-md5 do ficheiro corresponde ao hash calculado. Se esses valores não corresponderem, o download falhará, a menos que você substitua esse comportamento anexando --check-md5=NoCheck ou --check-md5=LogOnly ao comando copy.

Transferir um ficheiro

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.

Descarregar o conteúdo de um diretório

Pode transferir o conteúdo de um diretório sem copiar o próprio diretório com o símbolo de caráter universal (*).

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

Nota

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

Download de 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 --include-path opção. Separe nomes de arquivos 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 https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory/photos diretório e o https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory/documents/myFile.txt arquivo. Inclua a --recursive opção de transferir todos os arquivos no https://mystorageaccount.file.core.windows.net/myFileShare/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 '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 --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.

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

Use o comando azcopy copy com a --include-after opção. 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 obter uma referência detalhada, consulte os documentos de referência azcopy copy .

Download a partir de um instantâneo de compartilhamento

Você pode baixar uma versão específica de um arquivo ou diretório fazendo referência ao valor DateTime de um instantâneo de compartilhamento. Para saber mais sobre instantâneos de compartilhamento, consulte Visão geral de instantâneos de compartilhamento para 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 ficheiros entre contas de armazenamento

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

O AzCopy usa APIs de 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 AZCOPY_CONCURRENCY_VALUE ambiente. Para saber mais, consulte Aumentar simultaneidade.

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

Gorjeta

Os exemplos nesta seção 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 ('').

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

  • Copiar um ficheiro para outra conta de armazenamento
  • Copiar um diretório para outra conta de armazenamento
  • Copiar um compartilhamento de arquivos para outra conta de armazenamento
  • Copiar todas as partilhas de ficheiros, diretórios e ficheiros para outra conta de armazenamento

Gorjeta

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

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

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

Copiar um ficheiro 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 (compartilhar instantâneo)

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 (compartilhar instantâneo)

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 arquivos 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 (compartilhar instantâneo)

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 todas as partilhas de ficheiros, diretórios e ficheiros 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 (compartilhar instantâneo)

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 ficheiros

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 arquivos com o conteúdo de um diretório localizado em outro compartilhamento de arquivos. A sincronização é uma maneira. Em outras palavras, você escolhe qual desses dois pontos de extremidade é a origem e qual é o destino. A sincronização também usa APIs de servidor para servidor.

Nota

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

Aviso

A sincronização do AzCopy é suportada, mas não totalmente recomendada para os Arquivos do Azure. A sincronização do AzCopy não suporta cópias diferenciais em escala e alguma fidelidade de arquivo pode ser perdida. Para saber mais, consulte Migrar para compartilhamentos de arquivos do Azure.

Diretrizes

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

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

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

  • Se você não planeja usar o --compare-hash sinalizador, a máquina na qual você executa o comando sync deve ter um relógio de sistema preciso, pois os últimos horários modificados são críticos para determinar se um arquivo deve ser transferido. Se o seu sistema tiver uma distorção de relógio significativa, evite modificar arquivos no destino muito perto da hora que você planeja executar um comando de sincronização.

  • O AzCopy usa APIs de servidor para servidor para sincronizar dados entre contas de armazenamento. Isso significa que os dados são copiados diretamente entre os 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 máquina virtual (VM), certifique-se de que a VM tenha núcleos/memória suficientes para lidar com a carga.

Gorjeta

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

Cenário Sinalizador
Copie listas de controle de acesso (ACLs) junto com os arquivos. --preserve-smb-permissions=[verdadeiro|falso]
Copie as informações da propriedade SMB junto com os arquivos. --preserve-smb-info=[verdadeiro|falso]
Excluir arquivos com base em um padrão. --exclude-path
Especifique o quão detalhado você deseja que suas entradas de log relacionadas à sincronização sejam. --log-level=[AVISO|ERRO|INFO|NENHUM]

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

Os exemplos nesta seção 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 ('').

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

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

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 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 arquivos

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

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 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 arquivos com alterações em outro compartilhamento de arquivos

O primeiro compartilhamento de arquivos que aparece neste 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 arquivos

O primeiro diretório que aparece neste comando é o source. 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 arquivos para corresponder ao conteúdo de um instantâneo de compartilhamento

O primeiro compartilhamento de arquivos que aparece neste 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, consulte Visão geral de instantâneos de compartilhamento para Arquivos do Azure.

Próximos passos

Encontre mais exemplos em qualquer um destes artigos:

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