Trasferire dati con AzCopy e l'archivio file

AzCopy è un'utilità della riga di comando che è possibile usare per copiare file da o verso un account di archiviazione. Questo articolo contiene comandi di esempio che funzionano con File di Azure.

Prima di iniziare, vedere l'articolo Introduzione a AzCopy per scaricare AzCopy e acquisire familiarità con lo strumento.

Suggerimento

Gli esempi di questo articolo racchiudeno gli argomenti del percorso con virgolette singole (''). Usare virgolette singole in tutte le shell dei comandi, ad eccezione di Windows Command Shell (cmd.exe). Se si usa windows Command Shell (cmd.exe), racchiudere gli argomenti del percorso con virgolette doppie ("") anziché virgolette singole (').

Creare condivisioni file

È possibile usare il comando azcopy make per creare una condivisione file. Nell'esempio in questa sezione viene creata una condivisione file denominata myfileshare.

Sintassi

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

Esempio

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'

Per informazioni dettagliate sulla documentazione di riferimento, vedere azcopy make.

Caricare i file

È possibile usare il comando azcopy copy per caricare file e directory dal computer locale.

Questa sezione contiene gli esempi seguenti:

  • Caricare un file
  • Caricare una directory
  • Caricare il contenuto di una directory
  • Caricare un file specifico

Suggerimento

È possibile modificare l'operazione di caricamento usando flag facoltativi. Ecco alcuni esempi.

Scenario Flag
Copiare gli elenchi di controllo di accesso (ACL) insieme ai file. --preserve-smb-permissions=[true|false]
Copiare le informazioni sulle proprietà SMB insieme ai file. --preserve-smb-info=[true|false]

Per un elenco completo, vedere opzioni.

Nota

AzCopy non calcola automaticamente e archivia il codice hash md5 del file. Per eseguire questa operazione, aggiungere il --put-md5 flag a ogni comando di copia. In questo modo, quando il file viene scaricato, AzCopy calcola un hash MD5 per i dati scaricati e verifica che l'hash MD5 archiviato nella proprietà del Content-md5 file corrisponda all'hash calcolato.

Caricare un file

Sintassi

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

Esempio

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

È anche possibile caricare un file usando un simbolo jolly (*) ovunque nel percorso del file o nel nome del file. Ad esempio: 'C:\myDirectory\*.txt'o C:\my*\*.txt.

Caricare una directory

Questo esempio copia una directory, e tutti i file in essa contenuti, in una condivisione file. Il risultato è una directory con lo stesso nome nella condivisione file.

Sintassi

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

Esempio

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

Per copiare in una directory all'interno della condivisione file, specificare semplicemente il nome di tale directory nella stringa di comando.

Esempio

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 si specifica il nome di una directory che non esiste nella condivisione file, AzCopy crea una nuova directory con tale nome.

Caricare il contenuto di una directory

È possibile caricare il contenuto di una directory senza copiare la directory contenente stessa usando il simbolo jolly (*).

Sintassi

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

Esempio

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

Aggiungere il --recursive flag per caricare i file in tutte le sotto directory.

Caricare file specifici

È possibile caricare file specifici usando nomi di file completi, nomi parziali con caratteri jolly (*)o usando date e ore.

Specificare più nomi di file completi

Usare il comando azcopy copy con l'opzione --include-path . Separare singoli nomi di file usando un punto e virgola (;).

Sintassi

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>

Esempio

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

In questo esempio AzCopy trasferisce la C:\myDirectory\photos directory e il C:\myDirectory\documents\myFile.txt file. È necessario includere l'opzione --recursive per trasferire tutti i file nella C:\myDirectory\photos directory.

È anche possibile escludere i file usando l'opzione --exclude-path . Per altre informazioni, vedere azcopy copy reference docs.

Usare caratteri jolly

Usare il comando azcopy copy con l'opzione --include-pattern . Specificare nomi parziali che includono i caratteri jolly. Separare i nomi usando un punto e virgola (;).

Sintassi

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>

Esempio

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

È anche possibile escludere i file usando l'opzione --exclude-pattern . Per altre informazioni, vedere azcopy copy reference docs.

Le --include-pattern opzioni e --exclude-pattern si applicano solo ai nomi dei file e non al percorso. Se si desidera copiare tutti i file di testo presenti in un albero di directory, usare l'opzione --recursive per ottenere l'intero albero delle directory e quindi usare e --include-pattern specificare *.txt per ottenere tutti i file di testo.

Caricare i file modificati dopo una data e un'ora

Usare il comando azcopy copy con l'opzione --include-after . Specificare una data e un'ora nel formato ISO 8601 (ad esempio: 2020-08-19T15:04:00Z).

Sintassi

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>

Esempio

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

Per informazioni dettagliate, vedere la documentazione di riferimento di azcopy copy .

Scaricare i file

È possibile usare il comando azcopy copy per scaricare file, directory e condivisioni file nel computer locale.

Questa sezione contiene gli esempi seguenti:

  • Scaricare un file
  • Scaricare una directory
  • Scaricare il contenuto di una directory
  • Scaricare file specifici

Suggerimento

È possibile modificare l'operazione di download usando flag facoltativi. Ecco alcuni esempi:

Scenario Flag
Copiare gli elenchi di controllo di accesso (ACL) insieme ai file. --preserve-smb-permissions=[true|false]
Copiare le informazioni sulle proprietà SMB insieme ai file. --preserve-smb-info=[true|false]
Decomprime automaticamente i file. --Decomprimere

Per un elenco completo, vedere opzioni.

Nota

Se il Content-md5 valore della proprietà di un file contiene un hash, AzCopy calcola un hash MD5 per i dati scaricati e verifica che l'hash MD5 archiviato nella proprietà del Content-md5 file corrisponda all'hash calcolato. Se questi valori non corrispondono, il download ha esito negativo a meno che non si esegua l'override di questo comportamento aggiungendo --check-md5=NoCheck o --check-md5=LogOnly al comando di copia.

Scaricare un file

Sintassi

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

Esempio

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

Scaricare una directory

Sintassi

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

Esempio

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

In questo esempio viene restituita una directory denominata C:\myDirectory\myFileShareDirectory che contiene tutti i file scaricati.

Scaricare il contenuto di una directory

È possibile scaricare il contenuto di una directory senza copiare la directory che lo contiene usando il carattere jolly (*).

Sintassi

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

Esempio

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

Aggiungere il --recursive flag per scaricare i file in tutte le sottodirectory.

Scaricare file specifici

È possibile scaricare file specifici usando nomi di file completi, nomi parziali con caratteri jolly (*), oppure usando date e ore.

Specificare più nomi di file completi

Usare il comando azcopy copy con l'opzione --include-path . Separare i singoli nomi di file usando un punto e virgola (;).

Sintassi

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>

Esempio

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

In questo esempio AzCopy trasferisce la https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory/photos directory e il https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory/documents/myFile.txt file. Includere l'opzione --recursive per trasferire tutti i file nella https://mystorageaccount.file.core.windows.net/myFileShare/myDirectory/photos directory.

È anche possibile escludere i file usando l'opzione --exclude-path . Per altre informazioni, vedere la documentazione di riferimento di azcopy copy .

Usare caratteri jolly

Usare il comando azcopy copy con l'opzione --include-pattern . Specificare nomi parziali che includono i caratteri jolly. Separare i nomi usando un punto e virgola (;).

Sintassi

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>

Esempio

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

È anche possibile escludere i file usando l'opzione --exclude-pattern . Per altre informazioni, vedere la documentazione di riferimento di azcopy copy .

Le --include-pattern opzioni e --exclude-pattern si applicano solo ai nomi file e non al percorso. Se si desidera copiare tutti i file di testo presenti in un albero di directory, usare l'opzione --recursive per ottenere l'intero albero di directory e quindi usare --include-pattern e specificare *.txt per ottenere tutti i file di testo.

Scaricare i file modificati dopo una data e un'ora

Usare il comando azcopy copy con l'opzione --include-after . Specificare una data e un'ora in formato ISO-8601 (ad esempio: 2020-08-19T15:04:00Z).

Sintassi

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>

Esempio

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

Per informazioni di riferimento dettagliate, vedere la documentazione di riferimento di azcopy copy .

Scaricare da uno snapshot di condivisione

È possibile scaricare una versione specifica di un file o di una directory facendo riferimento al valore DateTime di uno snapshot di condivisione. Per altre informazioni sugli snapshot di condivisione, vedere Panoramica degli snapshot di condivisione per File di Azure.

Sintassi

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

Esempio (scaricare un file)

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

Esempio (scaricare una directory)

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

Copiare file tra account di archiviazione

È possibile usare AzCopy per copiare i file in altri account di archiviazione. L'operazione di copia è sincrona in modo che tutti i file vengano copiati al termine del comando.

AzCopy usa le APIda server a server, quindi i dati vengono copiati direttamente tra i server di archiviazione. Queste operazioni di copia non usano la larghezza di banda di rete del computer. È possibile aumentare la velocità effettiva di queste operazioni impostando il valore della AZCOPY_CONCURRENCY_VALUE variabile di ambiente. Per altre informazioni, vedere Aumentare la concorrenza.

È anche possibile copiare versioni specifiche di un file facendo riferimento al valore DateTime di uno snapshot di condivisione. Per altre informazioni sugli snapshot di condivisione, vedere Panoramica degli snapshot di condivisione per File di Azure.

Questa sezione contiene gli esempi seguenti:

  • Copiare un file in un altro account di archiviazione
  • Copiare una directory in un altro account di archiviazione
  • Copiare una condivisione file in un altro account di archiviazione
  • Copiare tutte le condivisioni file, le directory e i file in un altro account di archiviazione

Suggerimento

È possibile modificare l'operazione di copia usando flag facoltativi. Ecco alcuni esempi.

Scenario Flag
Copiare gli elenchi di controllo di accesso (ACL) insieme ai file. --preserve-smb-permissions=[true|false]
Copiare le informazioni sulle proprietà SMB insieme ai file. --preserve-smb-info=[true|false]

Per un elenco completo, vedere opzioni.

Copiare un file in un altro account di archiviazione

Sintassi

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

Esempio

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

Esempio (snapshot di condivisione)

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

Copiare una directory in un altro account di archiviazione

Sintassi

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

Esempio

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

Esempio (snapshot di condivisione)

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

Copiare una condivisione file in un altro account di archiviazione

Sintassi

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

Esempio

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

Esempio (snapshot di condivisione)

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

Copiare tutte le condivisioni file, le directory e i file in un altro account di archiviazione

Sintassi

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'

Esempio

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

Esempio (snapshot di condivisione)

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

Sincronizzare i file

È possibile sincronizzare il contenuto di un file system locale con una condivisione file o sincronizzare il contenuto di una condivisione file con un'altra condivisione file. È anche possibile sincronizzare il contenuto di una directory in una condivisione file con il contenuto di una directory che si trova in un'altra condivisione file. La sincronizzazione è unidirezionale. In altre parole, si sceglie quale di questi due endpoint è l'origine e quale è la destinazione. La sincronizzazione usa anche il server per le API del server.

Nota

Attualmente, questo scenario è supportato per gli account che hanno abilitato lo spazio dei nomi gerarchico tramite l'endpoint BLOB.

Avviso

La sincronizzazione AzCopy è supportata ma non è completamente consigliata per File di Azure. La sincronizzazione AzCopy non supporta copie differenziali su larga scala e potrebbe essere persa una fedeltà di file. Per altre informazioni, vedere Eseguire la migrazione alle condivisioni file di Azure.

Indicazioni

Il comando di sincronizzazione confronta i nomi dei file e i timestamp dell'ultima modifica. Impostare il --delete-destination flag facoltativo su un valore di o prompt per eliminare i file nella directory di true destinazione se tali file non esistono più nella directory di origine.

  • Se si imposta il --delete-destination flag su true, AzCopy elimina i file senza fornire un prompt. Se si vuole che venga visualizzata una richiesta prima di eliminare un file, impostare il --delete-destination flag su prompt.

  • Se si prevede di impostare il flag su prompt o false, è consigliabile usare il --delete-destination comando di copia anziché il comando di sincronizzazione e impostare il --overwrite parametro su ifSourceNewer. Il comando di copia usa meno memoria e comporta costi di fatturazione inferiori perché un'operazione di copia non deve indicizzare l'origine o la destinazione prima dello spostamento dei file.

  • Il computer in cui si esegue il comando di sincronizzazione deve avere un orologio di sistema accurato perché gli ultimi tempi modificati sono critici per determinare se un file deve essere trasferito. Se il sistema ha una significativa deviazione dell'orologio, evitare di modificare i file nella destinazione troppo vicino al momento in cui si prevede di eseguire un comando di sincronizzazione.

  • AzCopy usa API da server a server per sincronizzare i dati tra account di archiviazione. Ciò significa che i dati sono copiati direttamente tra i server di archiviazione. AzCopy, tuttavia, configura e monitora ogni trasferimento e per gli account di archiviazione più grandi (ad esempio gli account che contengono milioni di BLOB), AzCopy potrebbe richiedere una notevole quantità di risorse di calcolo per eseguire queste attività. Pertanto, se si esegue AzCopy dalla macchina virtuale ,assicurarsi che la macchina virtuale disponga di core/memoria sufficienti per gestire il carico.

Suggerimento

È possibile modificare l'operazione di sincronizzazione usando flag facoltativi. Ecco alcuni esempi.

Scenario Flag
Copiare gli elenchi di controllo di accesso (ACL) insieme ai file. --preserve-smb-permissions=[true|false]
Copiare le informazioni sulle proprietà SMB insieme ai file. --preserve-smb-info=[true|false]
Escludere i file in base a un modello. --exclude-path
Specificare il modo in cui si desidera che le voci di log correlate alla sincronizzazione siano. --log-level=[WARNING| ERROR|INFO| NESSUNO]

Per un elenco completo, vedere opzioni.

Aggiornare una condivisione file con le modifiche apportate a un file system locale

In questo caso, la condivisione file è la destinazione e il file system locale è l'origine.

Suggerimento

Questo esempio racchiude gli argomenti del percorso con virgolette singole (''). Usare virgolette singole in tutte le shell dei comandi, ad eccezione di Windows Command Shell (cmd.exe). Se si usa windows Command Shell (cmd.exe), racchiudere gli argomenti del percorso con virgolette doppie ("") anziché virgolette singole (').

Sintassi

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

Esempio

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

Aggiornare un file system locale con modifiche a una condivisione file

In questo caso, il file system locale è la destinazione e la condivisione file è l'origine.

Suggerimento

Questo esempio racchiude gli argomenti del percorso con virgolette singole (''). Usare virgolette singole in tutte le shell dei comandi, ad eccezione di Windows Command Shell (cmd.exe). Se si usa windows Command Shell (cmd.exe), racchiudere gli argomenti del percorso con virgolette doppie ("") anziché virgolette singole (').

Sintassi

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

Esempio

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

Aggiornare una condivisione file con modifiche a un'altra condivisione file

La prima condivisione file visualizzata in questo comando è l'origine. Il secondo è la destinazione.

Sintassi

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

Esempio

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

Aggiornare una directory con modifiche a una directory in un'altra condivisione file

La prima directory visualizzata in questo comando è l'origine. Il secondo è la destinazione.

Sintassi

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

Esempio

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

Aggiornare una condivisione file in modo che corrisponda al contenuto di uno snapshot di condivisione

La prima condivisione file visualizzata in questo comando è l'origine. Alla fine dell'URI aggiungere la stringa &sharesnapshot= seguita dal valore DateTime dello snapshot.

Sintassi

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

Esempio

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

Per altre informazioni sugli snapshot di condivisione, vedere Panoramica degli snapshot di condivisione per File di Azure.

Passaggi successivi

Trovare altri esempi in uno di questi articoli:

Vedere questi articoli per configurare impostazioni, ottimizzare le prestazioni e risolvere i problemi: