Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 precisa usar um token SAS em qualquer comando destinado 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 Authorize AzCopy
Dica
Ao usar o NFS de Arquivos do Azure, você deve especificar a opção da CLI --from-to com uma das seguintes opções com suporte: FileNFSLocal, LocalFileNFSou FileNFSFileNFS nos seus comandos.
Os cenários de upload e download que usam LocalFileNFS e FileNFSLocal têm suporte apenas em ambientes locais do Linux. Essas operações não têm suporte no Windows ou no macOS. Por outro lado, o cenário FileNFSFileNFS, que usa a API de cópia servidor a servidor, tem suporte no Windows, Linux e macOS. Você pode executar os comandos associados em qualquer uma dessas plataformas.
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.
Observação
A versão 10.30.0 do AzCopy introduz uma alteração significativa, na qual ele não cria mais compartilhamentos de arquivos automaticamente para transferências envolvendo os Arquivos do Azure usando os protocolos NFS ou SMB.
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
Para obter documentos de referência detalhados, confira azcopy make.
Carregar arquivos
Use o comando azcopy copy para carregar arquivos e diretórios do 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:
- Carregar um arquivo
- Carregar um diretório
- Carregar o conteúdo de um diretório
- Carregar um arquivo específico
Dica
Use sinalizadores opcionais para personalizar sua operação de upload. Veja alguns exemplos:
| Cenário | Sinalizador |
|---|---|
| Copie ACLs (listas de controle de acesso) junto com os arquivos. | --preserve-permissions=[true|false] |
| Copie informações de propriedade SMB junto com os arquivos. | --preserve-info=[true|false] |
Para obter uma lista completa, confira as opções.
Observação
O AzCopy não calcula e armazena automaticamente o código de hash MD5 do arquivo para um arquivo maior que 256 MB. Se você quiser que o AzCopy faça isso, acrescente o --put-md5 sinalizador 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.
Carregar um arquivo
Sintaxe
azcopy copy '<local-file-path>' 'https://<storage-account-name>.file.core.windows.net/<file-share-name>/<file-name>'
azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.file.core.windows.net/myfileshare/myTextFile.txt?[SAS]' --preserve-permissions=true --preserve-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
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileshare?[SAS]' --recursive --preserve-permissions=true --preserve-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.
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory?[SAS]' --recursive --preserve-permissions=true --preserve-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>'
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory?[SAS]' --preserve-permissions=true --preserve-info=true
Observação
Para carregar arquivos em todos os subdiretórios, adicione o --recursive sinalizador.
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. Separar nomes de arquivo individuais com 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>
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileshare?[SAS]' --include-path 'photos;documents\myFile.txt' --preserve-permissions=true --preserve-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>
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.file.core.windows.net/myfileshare?[SAS]' --include-pattern 'myFile*.txt;*.pdf*' --preserve-permissions=true --preserve-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>
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.file.core.windows.net/myfileshare?[SAS]' --include-after '2020-08-19T15:04:00Z' --preserve-permissions=true --preserve-info=true
Especificando tipos de origem e de destino ao carregar blobs
O AzCopy usa o --from-to parâmetro para definir explicitamente os tipos de recursos de origem e de destino quando a detecção automática pode falhar, como em cenários de tubulação ou emuladores. Esse parâmetro ajuda o AzCopy a entender o contexto da transferência e otimizar adequadamente.
| Valor FromTo | Description |
|---|---|
LocalFileSMB |
Carregar do sistema de arquivos local para o compartilhamento SMB no Armazenamento de Arquivos do Azure |
LocalFileNFS |
Carregar do sistema de arquivos local (somente Linux) para o compartilhamento NFS no Armazenamento de Arquivos do Azure |
PipeFile |
Transmitir dados de um pipe para o Armazenamento de Arquivos do Azure |
Baixar arquivos
Use o comando azcopy copy para baixar arquivos, diretórios e compartilhamentos de arquivos no 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
Use sinalizadores opcionais para personalizar sua operação de download. Veja alguns exemplos:
| Cenário | Sinalizador |
|---|---|
| Copie ACLs (listas de controle de acesso) junto com os arquivos. | --preserve-permissions=[true|false] |
| Copie informações de propriedade SMB junto com os arquivos. | --preserve-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>'
azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myTextFile.txt?[SAS]' 'C:\myDirectory\myTextFile.txt' --preserve-permissions=true --preserve-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
azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory?[SAS]' 'C:\myDirectory' --recursive --preserve-permissions=true --preserve-info=true
Este exemplo cria 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>/'
azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory/*?[SAS]' 'C:\myDirectory' --preserve-permissions=true --preserve-info=true
Observação
Para baixar arquivos em todos os subdiretórios, adicione o --recursive sinalizador.
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. Separar nomes de arquivo individuais com 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>
azcopy copy 'https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory?[SAS]' 'C:\myDirectory' --include-path 'photos;documents\myFile.txt' --recursive --preserve-permissions=true --preserve-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>
azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myDirectory?[SAS]' 'C:\myDirectory' --include-pattern 'myFile*.txt;*.pdf*' --preserve-permissions=true --preserve-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>
azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/*?[SAS]' 'C:\myDirectory' --include-after '2020-08-19T15:04:00Z' --preserve-permissions=true --preserve-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?[SAS]&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory\myTextFile.txt' --preserve-permissions=true --preserve-info=true
Exemplo (Baixar um diretório)
azcopy copy 'https://mystorageaccount.file.core.windows.net/myfileshare/myFileShareDirectory?[SAS]&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory' --recursive --preserve-permissions=true --preserve-info=true
Especificando tipos de origem e destino ao baixar arquivos
O AzCopy usa o --from-to parâmetro para definir explicitamente os tipos de recursos de origem e de destino quando a detecção automática pode falhar, como em cenários de tubulação ou emuladores. Esse parâmetro ajuda o AzCopy a entender o contexto da transferência e otimizar adequadamente.
| Valor FromTo | Description |
|---|---|
FileSMBLocal |
Baixar do compartilhamento SMB no Armazenamento de Arquivos do Azure para o sistema de arquivos local |
FileNFSLocal |
Baixar do compartilhamento NFS no Armazenamento de Arquivos do Azure para o sistema de arquivos local (somente Linux) |
FileSMBLocal |
Baixar do compartilhamento SMB para o sistema de arquivos local |
FilePipe |
Transmitir dados do Armazenamento de Arquivos do Azure para um pipe |
Copiar Arquivos 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 para que todos os arquivos sejam copiados quando o comando retornar.
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 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-permissions=[true|false] |
| Copie informações de propriedade SMB junto com os arquivos. | --preserve-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?[SAS]' 'https://mydestinationaccount.file.core.windows.net/mycontainer/myTextFile.txt?[SAS]' --preserve-permissions=true --preserve-info=true
Exemplo (instantâneo de compartilhamento)
azcopy copy 'https://mysourceaccount.file.core.windows.net/mycontainer/myTextFile.txt?[SAS]&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'https://mydestinationaccount.file.core.windows.net/mycontainer/myTextFile.txt?[SAS]' --preserve-permissions=true --preserve-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?[SAS]' 'https://mydestinationaccount.file.core.windows.net/mycontainer?[SAS]' --recursive --preserve-permissions=true --preserve-info=true
Exemplo (instantâneo de compartilhamento)
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
Exemplo (instantâneo de compartilhamento)
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?[SAS]' 'https://mydestinationaccount.file.core.windows.net?[SAS]' --recursive --preserve-permissions=true --preserve-info=true
Exemplo (instantâneo de compartilhamento)
azcopy copy 'https://mysourceaccount.file.core.windows.net?[SAS]&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'https://mydestinationaccount.file.core.windows.net?[SAS]' --recursive --preserve-permissions=true --preserve-info=true
Especificando tipos de origem e de destino ao copiar arquivos
O AzCopy usa o --from-to parâmetro para definir explicitamente os tipos de recursos de origem e de destino quando a detecção automática pode falhar, como em cenários de tubulação ou emuladores. Esse parâmetro ajuda o AzCopy a entender o contexto da transferência e otimizar adequadamente.
| Valor FromTo | Description |
|---|---|
FileBlob |
Copiar do Armazenamento de Arquivos do Azure para o Armazenamento de Blobs do Azure |
FileBlobFS |
Copiar do Armazenamento de Arquivos do Azure para o Azure Data Lake Gen2 (BlobFS) |
FileSMBFileSMB |
Copiar entre dois compartilhamentos SMB no Armazenamento de Arquivos do Azure |
FileNFSFileNFS |
Copiar entre dois compartilhamentos NFS no Armazenamento de Arquivos do Azure |
FileNFSFileSMB |
Copiar do Armazenamento de Arquivos do Azure NFS para o Armazenamento de Arquivos do Azure SMB |
FileSMBFileNFS |
Copiar do Armazenamento de Arquivos SMB do Azure para o Armazenamento de Arquivos NFS do Azure |
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.
Aviso
O AzCopy sync tem suporte, mas não é totalmente recomendado para Arquivos do Azure. A sincronização do AzCopy dá suporte a até 10 milhões de arquivos por trabalho do AzCopy, e parte da fidelidade dos arquivos pode ser perdida, pois o AzCopy usa as APIs REST dos Arquivos do Azure para copiar conteúdo para o compartilhamento de Arquivos do Azure. 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-destinationcomotrue, 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-destinationcomoprompt.Se você planeja definir o sinalizador
--delete-destinationcomopromptoufalse, considere usar o comando copy em vez do comando sync e definir o parâmetro--overwritecomoifSourceNewer. 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-permissions=[true|false] |
| Copie informações de propriedade SMB junto com os arquivos. | --preserve-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?[SAS]' --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?[SAS]' 'C:\myDirectory' --recursive
Atualizar um compartilhamento de arquivos com alterações de outro compartilhamento de arquivos
O primeiro compartilhamento de arquivo neste comando é a origem. O comando copia as alterações desse compartilhamento de arquivo de origem. O segundo compartilhamento de arquivo é 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?[SAS]' 'https://mydestinationaccount.file.core.windows.net/myfileshare?[SAS]' --recursive --preserve-permissions=true --preserve-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?[SAS]' 'https://mydestinationaccount.file.core.windows.net/myFileShare/myDirectory?[SAS]' --recursive --preserve-permissions=true --preserve-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?[SAS]&sharesnapshot=2020-09-23T08:21:07.0000000Z' 'https://mydestinationaccount.file.core.windows.net/myfileshare?[SAS]' --recursive --preserve-permissions=true --preserve-info=true
Para saber mais sobre instantâneos de compartilhamento, confira Visão geral dos instantâneos de compartilhamento dos Arquivos do Azure.
Propriedades e permissões a serem preservadas
Dica
Ao baixar arquivos para um sistema Linux local, você precisará de privilégios elevados se o proprietário ou grupo especificado for diferente daquele do usuário atual. Para alterar a propriedade ou o grupo de arquivos baixados, execute azcopy com sudo ou como o usuário raiz.
| Tipo | Propriedades (--preserve-info) | Permissões (--preserve-permissions) |
|---|---|---|
| SMB dos Arquivos do Azure | NTFSFileAttributes (ReadOn ReadOnly, Hidden, System, Directory, Archive, None, Temporary, Offline, NotContentIndexed, NoScrubData) (x-ms-file-attributes) CreationTime (x-ms-file-creation-time) LastWriteTime (x-ms-file-last-write-time) |
ACLs (x-ms-file-permission) |
| NFS dos Arquivos do Azure | TempoDeCriação (x-ms-file-creation-time) LastWriteTime (x-ms-file-last-write-time) |
Proprietário (x-ms-owner) Grupo (x-ms-group) Modo de Arquivo (x-ms-mode) |
Próximas etapas
Encontre mais exemplos em qualquer um destes artigos:
Consulte estes artigos para definir configurações, otimizar o desempenho e solucionar problemas: