Eventi
Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
È possibile sincronizzare l'archiviazione locale con l'archiviazione BLOB di Azure usando l'utilità della riga di comando AzCopy v10.
È possibile sincronizzare il contenuto di un file system locale con un contenitore BLOB. È anche possibile sincronizzare contenitori e directory virtuali tra loro. La sincronizzazione è unidirezionale. 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. Gli esempi presentati in questa sezione funzionano anche con gli account con uno spazio dei nomi gerarchico.
Nota
La versione corrente di AzCopy non supporta la sincronizzazione tra altre origini e destinazioni (ad esempio: archiviazione file o bucket Amazon Web Services (AWS) S3).
Per visualizzare esempi per altri tipi di attività, ad esempio il caricamento di file, il download di BLOB o la copia di BLOB tra account, vedere i collegamenti presentati nella sezione Passaggi successivi di questo articolo.
Vedere l'articolo Introduzione ad AzCopy per scaricare AzCopy e scoprire informazioni sui modi in cui è possibile fornire le credenziali di autorizzazione al servizio di archiviazione.
Nota
Gli esempi in questo articolo presuppongono che siano state fornite le credenziali di autorizzazione usando l'ID Microsoft Entra.
Se si preferisce usare un token SAS per autorizzare l'accesso ai dati BLOB, è possibile aggiungere il token all'URL della risorsa in ogni comando AzCopy. Ad esempio: 'https://<storage-account-name>.blob.core.windows.net/<container-name><SAS-token>'
.
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 flag --compare-hash
. Impostare il flag facoltativo --delete-destination
su un valore di true
o prompt
per eliminare i file nella directory di destinazione se tali file non esistono più nella directory di origine.
Se si imposta il flag
--delete-destination
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 flag di--delete-destination
suprompt
.Se si prevede di impostare il flag di
--delete-destination
suprompt
ofalse
, è consigliabile usare il comando copy anziché il comando sync e impostare il parametro--overwrite
suifSourceNewer
. Il comando copy utilizza 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.Se non si prevede di usare il flag
--compare-hash
, il computer in cui si esegue il comando di sincronizzazione deve avere un orologio di sistema accurato perché gli orari 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 in un lasso di tempo vicino a quando 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 vengono 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), 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.
- Per evitare eliminazioni accidentali, assicurarsi di abilitare la funzionalità di eliminazione temporanea prima di usare il
--delete-destination=prompt|true
flag .
In questo caso, il contenitore è la destinazione e il file system locale è l'origine.
Suggerimento
In questo esempio gli argomenti path vengono racchiusi 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>.blob.core.windows.net/<container-name>' --recursive
Esempio
azcopy sync 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --recursive
In questo caso, il file system locale è la destinazione e il contenitore è l'origine.
Suggerimento
In questo esempio gli argomenti path vengono racchiusi 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>.blob.core.windows.net/<container-name>' 'C:\myDirectory' --recursive
Esempio
azcopy sync 'https://mystorageaccount.blob.core.windows.net/mycontainer' 'C:\myDirectory' --recursive
Il primo contenitore visualizzato in questo comando è l'origine. La seconda è la destinazione.
Se si forniscono le credenziali di autorizzazione usando Microsoft Entra ID, assicurarsi di aver configurato i ruoli appropriati nell'account di origine e di destinazione. Vedere Opzione 1: Usare Microsoft Entra ID.
Suggerimento
In questo esempio gli argomenti path vengono racchiusi 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://<source-storage-account-name>.blob.core.windows.net/<container-name>/<SAS-token>' 'https://<destination-storage-account-name>.blob.core.windows.net/<container-name>' --recursive
Esempio
azcopy sync 'https://mysourceaccount.blob.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.blob.core.windows.net/mycontainer' --recursive
La prima directory visualizzata in questo comando è l'origine. La seconda è la destinazione.
Se si forniscono le credenziali di autorizzazione usando Microsoft Entra ID, assicurarsi di aver configurato i ruoli appropriati nell'account di origine e di destinazione. Vedere Opzione 1: Usare Microsoft Entra ID.
Suggerimento
In questo esempio gli argomenti path vengono racchiusi 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://<source-storage-account-name>.blob.core.windows.net/<container-name>/<directory-name>/<SAS-token>' 'https://<destination-storage-account-name>.blob.core.windows.net/<container-name>/<directory-name>' --recursive
Esempio
azcopy sync 'https://mysourceaccount.blob.core.windows.net/<container-name>/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.blob.core.windows.net/mycontainer/myDirectory' --recursive
Il primo contenitore visualizzato in questo comando è l'origine. La seconda è la destinazione.
Se si specifica un token di firma di accesso condiviso, assicurarsi di usare un token di firma di accesso condiviso corrispondente all'account di archiviazione di origine e di destinazione, usando azcopy sync.
Sintassi
azcopy sync 'https://<source-storage-account-name>.blob.core.windows.net/<container-name>/<SAS-token>' 'https://<destination-storage-account-name>.blob.core.windows.net/<container-name>/<destination-SAS-token>' --recursive
Esempio
azcopy sync 'https://mysourceaccount.blob.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.blob.core.windows.net/mycontainer/?sv=2018-03-28&ss=qrdu&dst=mco&kp=rwdlapuc&se=2019-07-04T05:30:08Z&st=2019-07-03T21:31:10Z&spr=https&sig=CAfhgnc9gdGktvB=yzx9CAjMKeeN678yiyFwdNU092JC8%6D' --recursive
Suggerimento
Se si copiano dimensioni maggiori dei dati, è possibile usare :Azure Storage Explorer.
Verificare i dettagli delle dimensioni copiati. Nel menu della barra superiore, scegli Altre ->Statistiche Cartella per aiutarti a ottenere i dettagli della cartella, comprese le dimensioni in byte.
È possibile modificare l'operazione di sincronizzazione usando flag facoltativi. Ecco alcuni esempi.
Sceneggiatura | Bandiera |
---|---|
Specificare in che modo gli hash MD5 devono essere convalidati rigorosamente durante il download. | --check-md5=[NoCheck|LogOnly |FailIfDifferent |FailIfDifferentOrMissing] |
Escludere i file in base a un modello. | --exclude-path |
Specificare quanto si desidera che le voci di log correlate alla sincronizzazione siano dettagliate. | --log-level=[AVVISO|ERRORE|INFORMAZIONI|NESSUNO] |
Specificare come copiare un file vhd. | --blob-type=BlockBlob --include-pattern "*.vhd" o --blob-type=BlockBlob |
Per un elenco completo dei flag, vedere opzioni.
Nota
Il --recursive
flag è impostato su true
per impostazione predefinita. I --exclude-pattern
flag e --include-pattern
si applicano solo ai nomi di file e non ad altre parti del percorso del file.
Altri esempi sono disponibili in questi articoli:
- Esempi: Caricamento
- Esempi: Download
- Esempi: Copiare tra account
- Esempi: Bucket di Amazon S3
- Esempi: Google Cloud Storage
- Esempi: File di Azure
- Esercitazione: Eseguire la migrazione di dati locali in una risorsa di archiviazione cloud tramite AzCopy
Vedere questi articoli per configurare le impostazioni, ottimizzare le prestazioni e risolvere i problemi: