L’automazione è ovunque oggi nell’ambito dell’IT. Dalla creazione di macchine virtuali al rilascio di siti web, l’automazione è fondamentale soprattutto quando si devono gestire più elementi. Anche la gestione dei file tra l’archiviazione di Azure e il tuo computer locale può essere automatizzata utilizzando un programma chiamato AzCopy.
AzCopy è un’utilità autonoma che consente la gestione dell’archiviazione di Azure. Con AzCopy è possibile eseguire diverse operazioni. In questo articolo, ci concentreremo su:
- Creazione di contenitori di archiviazione
- Copia di file locali nei contenitori
- Copia di file tra i contenitori
Cominciamo!
Se preferisci imparare tramite video, puoi anche guardare un video di TechSnips strettamente correlato a ciò che imparerai in questo articolo.
Prerequisiti
In questo articolo verrà fornita una panoramica di varie attività. Se desideri seguirla, assicurati di soddisfare i seguenti requisiti prima di iniziare.
- Un abbonamento Azure. Se non ne hai ancora uno, puoi richiedere un abbonamento di prova.
- Un account di archiviazione Azure. Consulta Crea un account di archiviazione per saperne di più.
- AzCopy è stato scaricato e autenticato (consulta l’articolo Come scaricare e installare lo strumento AZCopy per sapere come configurarlo)
Creazione di nuovi contenitori di archiviazione
Prima di tutto, utilizziamo AzCopy per creare nuovi contenitori di archiviazione in un account di archiviazione esistente. Nell’esempio che userai, creerai due nuovi contenitori chiamati container1 e container2.
Nota: Prima di creare un nuovo contenitore, devi conoscere l’URL del punto di accesso del contenitore. L’URL del punto di accesso segue il formato: https://[nome_account_archiviazione].blob.core.windows.net/[nome_contenitore].
Prima di tutto, definisci l’URL del punto di accesso. In questo esempio, i contenitori saranno creati in un account di archiviazione chiamato storageaccount1207 creando due URL del punto di accesso:
- https://storageaccount1207.blob.core.windows.net/container1
- https://storageaccount1207.blob.core.windows.net/container2
Ora che conosci gli URL del punto di accesso, utilizza il comando azcopy make
passando ciascun URL del punto di accesso come parametro come mostrato di seguito.

Copia dei file da/per i contenitori di Azure
Una volta creato un contenitore di archiviazione, probabilmente ti stai chiedendo “Come carico su Azure Blob Storage?”. Puoi farlo con AzCopy utilizzando il comando azcopy copy
. Puoi usare AzCopy per copiare file PST, VHD e altro ancora.
Utilizzo dell’autenticazione OAuth
Quando si utilizza AzCopy per copiare file in blocchi, si hanno un paio di opzioni per l’autenticazione. Presumendo che tu abbia già effettuato l’autenticazione su Azure Storage (dato che era un prerequisito), puoi semplicemente eseguire il comando azcopy copy
specificando il percorso del file locale seguito dall’URL del contenitore come mostrato di seguito.
Non specificando altri parametri, si utilizza l’autenticazione OAuth.

Come puoi confermare che il file sia stato copiato nel contenitore di blob di Azure? Puoi utilizzare il comando azcopy list [URL del contenitore]
. Nell’esempio seguente viene mostrato che il file file1.txt
esiste.

Per scaricare un file dal blob di Azure nella directory locale, è sufficiente invertire i parametri di origine e destinazione. Vedi l’esempio di seguito.

Utilizzo di un token di firma di accesso condiviso (SAS)
Per utilizzare un token SAS, è necessario generarne uno. Se non sai come generare un token SAS di Azure per accedere agli account di archiviazione, consulta l’articolo Come generare un token SAS di Azure per accedere agli account di archiviazione.
Una volta disponibile un token SAS, è possibile aggiungere il token all’URL del contenitore di destinazione come parametro HTTP, come mostrato di seguito.
Se si utilizza PowerShell e si è memorizzato il token in una variabile (ad esempio $token
), è possibile passare quella variabile al posto della stringa di token completa come nel comando seguente.

Utilizzando lo stesso token (ipotizzando che sia ancora valido), è anche possibile scaricare file dallo storage di Azure alla memoria locale. L’esempio qui di seguito copia il file file1.txt
dallo storage di Azure utilizzando un token SAS.
Nel codice sottostante, si può notare che questa volta, anziché aggiungere il token dopo il nome del contenitore, viene aggiunto prima il nome del file. Questo istruisce AzCopy a copiare un file specifico utilizzando l’autenticazione SAS.

Copia di una directory da/per lo storage di Azure
Se si hanno molti file da trasferire o scaricare da Azure, è possibile copiare intere directory in una sola volta utilizzando azcopy copy
. Il comando per farlo non è molto diverso da quello utilizzato per copiare singoli file.
Di seguito è riportato un comando che copia in modo ricorsivo la directory C:\\MyDir
nel contenitore di blob container1. Il parametro --recursive
è fondamentale qui. La bandiera --recursive
alla fine del comando indica che saranno copiati tutti i contenuti della directory principale e delle eventuali sottodirectory che potrebbero esistere.
Di seguito puoi vedere che i dieci file presenti nella cartella C:\MyDir sono stati tutti copiati correttamente in base al riepilogo dell’operazione.

Copia di file tra i contenitori di archiviazione di Azure
In tutto questo articolo, hai usato parecchio il comando azcopy copy
. Non c’è bisogno di fermarsi ora! Non solo puoi copiare directory e file da/on-prem, ma puoi anche copiare i blob tra contenitori di archiviazione.
Invece di utilizzare un percorso locale del file, cambieresti i parametri per utilizzare un URL di contenitore di blob come origine e un altro URL di contenitore di blob come destinazione.
Hai già creato due contenitori di archiviazione chiamati container1 e container2. In questa sezione, copiamo file, directory e persino l’intero contenitore di blob da container1 a container2.
Per copiare file da un contenitore a un altro, prima genera un nuovo token SAS. Poiché i due contenitori appartengono allo stesso account di archiviazione, lo stesso token può essere utilizzato sia per la sorgente che per la destinazione.
Assumendo che tu abbia salvato la stringa del token in una variabile chiamata $token
(se esegui azcopy con PowerShell), puoi facilmente copiare tutti i dati da un contenitore di archiviazione all’altro come mostrato di seguito.
Piccolo promemoria: Dai un’occhiata all’articolo Come generare un token SAS di Azure per accedere agli account di archiviazione se non sai come generare un token SAS.

Altre operazioni utili di AzCopy
Oltre alla copia di file e cartelle, puoi eseguire altre operazioni di copia con AzCopy. Alcune di queste sono:
- Copia di file specifici (filtrati).
- Copia di una directory in un’altra directory nel contenitore di blob.
- Copia da Amazon AWS a Azure Storage.
Se vuoi scoprire tutto ciò che AzCopy può fare, consulta il contenuto della guida eseguendo il comando azcopy -h
. Troverai molti altri comandi utili oltre al comando copy
su cui ti sei concentrato in questo articolo. Puoi vedere uno screenshot di questi comandi di seguito.

Per saperne di più, visita la pagina AzCopy Copy. In seguito, puoi provarli da solo utilizzando le tecniche apprese in questo articolo.
Riassunto
In questo articolo hai imparato come utilizzare AzCopy per trasferire file tra il locale e l’archiviazione di Azure. Hai anche imparato come eseguire queste operazioni utilizzando OAuth e un token di firma di accesso condiviso per l’autenticazione. Hai visto quali altri comandi AzCopy sono disponibili e come trovarli.
I hope this article has helped you get started with AzCopy and sparked your interest in using it more as part of your administration or development tasks. Thank you!