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.
Attività iniziali
Vedere l'articolo Introduzione ad AzCopy per scaricare AzCopy e informazioni sui modi in cui è possibile fornire le credenziali di autorizzazione al servizio di archiviazione.
Nota
Gli esempi in questo articolo illustrano l'uso di un token di firma di accesso condiviso per autorizzare l'accesso. Tuttavia, per i comandi destinati a file e directory, è ora possibile fornire le credenziali di autorizzazione usando Microsoft Entra ID e omettere il token di firma di accesso condiviso da tali comandi. Sarà comunque necessario usare un token di firma di accesso condiviso in qualsiasi comando destinato solo alla condivisione file o all'account (ad esempio: 'azcopy make https://mystorageaccount.file.core.windows.net/myfileshare'
o 'azcopy copy 'https://mystorageaccount.file.core.windows.net'
.
Per altre informazioni, vedere Autorizzare AzCopy.
Creare condivisioni file
È possibile usare il comando azcopy make per creare una condivisione file. Nell'esempio di questa sezione viene creata una condivisione file denominata myfileshare
.
Suggerimento
In questo esempio vengono racchiusi gli argomenti path con virgolette singole (''). Usare virgolette singole in tutte le shell dei comandi ad eccezione della shell dei comandi di Windows (cmd.exe). Se si usa una shell dei comandi di Windows (cmd.exe), racchiudere gli argomenti path con virgolette doppie ("") anziché virgolette singole ('').
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.
Carica file
È possibile usare il comando azcopy copy per caricare file e directory dal computer locale.
Suggerimento
Gli esempi in questa sezione racchiudono gli argomenti path con virgolette singole (''). Usare virgolette singole in tutte le shell dei comandi ad eccezione della shell dei comandi di Windows (cmd.exe). Se si usa una shell dei comandi di Windows (cmd.exe), racchiudere gli argomenti path con virgolette doppie ("") anziché virgolette singole ('').
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 e archivia automaticamente il codice hash md5 del file per un file maggiore di 256 MB. Se si vuole 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>'
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 (*) in qualsiasi punto del percorso del file o del nome 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, è sufficiente specificare 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 contenitore 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 sottodirectory.
Caricare file specifici
È possibile caricare file specifici usando nomi di file completi, nomi parziali con caratteri jolly (*), oppure 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 (Documentazione di riferimento su 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 '<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 (Documentazione di riferimento su 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.
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 in 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 di riferimento dettagliate, vedere la documentazione di riferimento azcopy copy .
Scaricare i file
È possibile usare il comando azcopy copy per scaricare file, directory e condivisioni file nel computer locale.
Suggerimento
Gli esempi in questa sezione racchiudono gli argomenti path con virgolette singole (''). Usare virgolette singole in tutte le shell dei comandi ad eccezione della shell dei comandi di Windows (cmd.exe). Se si usa una shell dei comandi di Windows (cmd.exe), racchiudere gli argomenti path con virgolette doppie ("") anziché virgolette singole ('').
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 non riesce 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 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 azcopy copy reference docs (Documentazione di riferimento su 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 azcopy copy reference docs (Documentazione di riferimento su 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 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 (download di 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 api da server a server, quindi i dati vengono copiati direttamente tra i server di archiviazione. È 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.
Suggerimento
Gli esempi in questa sezione racchiudono gli argomenti path con virgolette singole (''). Usare virgolette singole in tutte le shell dei comandi ad eccezione della shell dei comandi di Windows (cmd.exe). Se si usa una shell dei comandi di Windows (cmd.exe), racchiudere gli argomenti path con virgolette doppie ("") anziché virgolette singole ('').
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 è un modo. In altre parole, si sceglie quale di questi due endpoint è l'origine e quale è la destinazione. La sincronizzazione usa anche le API server per server.
Nota
Attualmente, questo scenario è supportato per gli account che hanno abilitato lo spazio dei nomi gerarchico tramite l'endpoint BLOB.
Avviso
La sincronizzazione di AzCopy è supportata ma non è completamente consigliata per File di Azure. La sincronizzazione AzCopy non supporta copie differenziali su larga scala e la fedeltà dei file potrebbe essere persa. Per altre informazioni, vedere Eseguire la migrazione alle condivisioni file di Azure.
Linee guida
Per impostazione predefinita, il comando di sincronizzazione confronta i nomi dei file e i timestamp dell'ultima modifica. È possibile eseguire l'override di tale comportamento per usare hash MD5 anziché i timestamp dell'ultima modifica usando il --compare-hash
flag . 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 sutrue
, AzCopy elimina i file senza fornire un prompt. Se si vuole che venga visualizzata una richiesta prima che AzCopy elimini un file, impostare il--delete-destination
flag suprompt
.Se si prevede di impostare il
--delete-destination
flag suprompt
ofalse
, è consigliabile usare il comando di copia anziché il comando di sincronizzazione e impostare il--overwrite
parametro suifSourceNewer
. Il comando di copia utilizza meno memoria e comporta costi di fatturazione inferiori perché non è necessario indicizzare l'origine o la destinazione prima dello spostamento dei file.Se non si prevede di usare il
--compare-hash
flag, il computer in cui si esegue il comando di sincronizzazione deve avere un orologio di sistema accurato perché le ore dell'ultima modifica sono fondamentali per determinare se un file deve essere trasferito. Se il sistema ha un'asimmetria di clock significativa, evitare di modificare i file nella destinazione troppo vicino al momento in cui si prevede di eseguire un comando di sincronizzazione.AzCopy usa le API da server a server per sincronizzare i dati tra gli account di archiviazione. Ciò significa che i dati vengano copiati direttamente tra i server di archiviazione. Tuttavia, AzCopy configura e monitora ogni trasferimento e per account di archiviazione di dimensioni maggiori (ad esempio, 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 la modalità di dettaglio delle voci di log correlate alla sincronizzazione. | --log-level=[WARNING|ERROR|INFO|NONE] |
Per un elenco completo, vedere opzioni.
Gli esempi in questa sezione racchiudono gli argomenti path con virgolette singole (''). Usare virgolette singole in tutte le shell dei comandi ad eccezione della shell dei comandi di Windows (cmd.exe). Se si usa una shell dei comandi di Windows (cmd.exe), racchiudere gli argomenti path con virgolette doppie ("") anziché virgolette singole ('').
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
In questo esempio vengono racchiusi gli argomenti path con virgolette singole (''). Usare virgolette singole in tutte le shell dei comandi ad eccezione della shell dei comandi di Windows (cmd.exe). Se si usa una shell dei comandi di Windows (cmd.exe), racchiudere gli argomenti path 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 le modifiche apportate a una condivisione file
In questo caso, il file system locale è la destinazione e la condivisione file è l'origine.
Suggerimento
In questo esempio vengono racchiusi gli argomenti path con virgolette singole (''). Usare virgolette singole in tutte le shell dei comandi ad eccezione della shell dei comandi di Windows (cmd.exe). Se si usa una shell dei comandi di Windows (cmd.exe), racchiudere gli argomenti path 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 le modifiche apportate 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 le modifiche apportate 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
Altri esempi sono disponibili in uno di questi articoli:
Vedere questi articoli per configurare le impostazioni, ottimizzare le prestazioni e risolvere i problemi: