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
comotrue
, 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
comoprompt
.Se você planeja definir o sinalizador
--delete-destination
comoprompt
oufalse
, considere usar o comando copy em vez do comando sync e definir o parâmetro--overwrite
comoifSourceNewer
. 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: