Esercitazione: Eseguire la migrazione di dati locali in una risorsa di archiviazione nel cloud con AzCopy

AzCopy è uno strumento da riga di comando per la copia di dati da o verso l'archiviazione BLOB di Azure, File di Azure e Archiviazione tabelle di Azure usando semplici comandi progettati per garantire prestazioni ottimali. Con AzCopy è possibile copiare dati tra un file system e un account di archiviazione o tra più account di archiviazione. È possibile usare AzCopy per copiare i dati di uno spazio dati locale in un account di archiviazione.

In questa esercitazione apprenderai a:

  • Creare un account di archiviazione.
  • Usare AzCopy per caricare tutti i dati.
  • Modificare i dati a scopo di test.
  • Creare un'attività pianificata o un processo cron per identificare nuovi file da caricare.

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.

Prerequisiti

Per completare questa esercitazione, scaricare l'ultima versione di AzCopy. Vedere Introduzione ad AzCopy.

Se si usa Windows, è necessario Schtasks perché viene usato in questa esercitazione per pianificare un'attività. Gli utenti di Linux useranno invece il comando crontab.

Per creare un account di archiviazione generico v2 nel portale di Azure, effettuare i seguenti passaggi:

  1. In Servizi di Azure, selezionare Account di archiviazione.
  2. Nella pagina Account di archiviazione scegliere + Crea.
  3. Nel pannello Informazioni di base selezionare la sottoscrizione in cui creare l'account di archiviazione.
  4. Nel campo Gruppo di risorse selezionare il gruppo di risorse desiderato o crearne uno nuovo. Per altre informazioni sui gruppi di risorse di Azure, vedere Panoramica di Azure Resource Manager.
  5. Immettere quindi un nome per l'account di archiviazione. Il nome scelto deve essere univoco in Azure. Deve avere inoltre una lunghezza compresa tra 3 e 24 caratteri e contenere solo numeri e lettere minuscole.
  6. Selezionare un'area per l'account di archiviazione o usare l'area predefinita.
  7. Selezionare un livello di prestazioni. Il livello predefinito è Standard.
  8. Specificare la modalità di replica dell'account di archiviazione. L'opzione di ridondanza predefinita è Archiviazione con ridondanza geografica. Per altre informazioni sulle opzioni di replica disponibili, vedere Ridondanza di Archiviazione di Azure.
  9. Altre opzioni sono disponibili nelle schede Avanzate, Rete, Protezione dati e Tag. Per usare Azure Data Lake Storage, scegliere il pannello Avanzate e quindi impostare Spazio dei nomi gerarchico su Abilitato. Per altre informazioni, vedere Introduzione ad Azure Data Lake Storage Gen2.
  10. Selezionare Rivedi e crea per rivedere le impostazioni dell'account di archiviazione e creare l'account.
  11. Seleziona Crea.

La figura seguente mostra le impostazioni nel pannello Informazioni di base per un nuovo account di archiviazione:

Screenshot showing how to create a storage account in the Azure portal.

Creazione di un contenitore

Il primo passaggio consiste nel creare un contenitore perché i BLOB devono sempre essere caricati in un contenitore. I contenitori consentono di organizzare i gruppi di BLOB in modo analogo a come si organizzano i file in cartelle del computer.

Per creare un contenitore, seguire questa procedura:

  1. Selezionare il pulsante Account di archiviazione nella pagina principale e scegliere l'account di archiviazione creato.

  2. Selezionare BLOB in Servizi e quindi selezionare Contenitore.

    Screenshot showing container creation

I nomi dei contenitori devono iniziare con una lettera o un numero e possono contenere solo lettere, numeri e il segno meno (-). Per altre informazioni sulla denominazione dei BLOB e dei contenitori, vedere l'articolo relativo alla denominazione e riferimento a contenitori, BLOB e metadati.

Scaricare AzCopy

Scaricare il file eseguibile di AzCopy v10.

Salvare il file di AzCopy in una posizione qualsiasi sul computer. Aggiungere la posizione del file alla variabile del percorso di sistema per poter fare riferimento a questo file eseguibile da qualsiasi cartella nel computer.

Eseguire l'autenticazione con ID Microsoft Entra

Assegnare per prima cosa il ruolo Collaboratore ai dati dei BLOB di archiviazione alla propria identità. Vedere Assegnare un ruolo di Azure per l'accesso ai dati BLOB.

Aprire quindi un prompt dei comandi, digitare il comando seguente e premere INVIO.

azcopy login

Questo comando restituisce un codice di autenticazione e l'URL di un sito Web. Aprire il sito Web, immettere il codice e quindi scegliere il pulsante Avanti.

Screenshot showing the login prompt

Verrà visualizzata una finestra di accesso. In tale finestra accedere al proprio account Azure usando le relative credenziali. Dopo aver completato l'accesso, è possibile chiudere la finestra del browser e iniziare a usare AzCopy.

Caricare il contenuto di una cartella nell'archiviazione BLOB

È possibile usare AzCopy per caricare tutti i file di una cartella nell'archiviazione BLOB di Windows o Linux. Per caricare tutti i BLOB di una cartella, immettere il comando AzCopy seguente:

azcopy copy "<local-folder-path>" "https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>" --recursive=true
  • Sostituire il segnaposto <local-folder-path> con il percorso di una cartella contenente file, ad esempio C:\myFolder o /mnt/myFolder.

  • Sostituire il segnaposto <storage-account-name> con il nome del proprio account di archiviazione.

  • Sostituire il segnaposto <container-name> con il nome del contenitore creato.

Per caricare in modo ricorsivo il contenuto della directory specificata nell'archivio BLOB, specificare l'opzione --recursive. Quando si esegue AzCopy con questa opzione, vengono caricate anche tutte le sottocartelle con i relativi file.

Caricare i file modificati nell'archiviazione BLOB

È possibile usare AzCopy per caricare i file in base all'ora dell'ultima modifica.

A questo scopo, modificare o creare nuovi file nella directory di origine a scopo di test. Usare quindi il comando sync di AzCopy.

azcopy sync "<local-folder-path>" "https://<storage-account-name>.blob.core.windows.net/<container-name>" --recursive=true
  • Sostituire il segnaposto <local-folder-path> con il percorso di una cartella contenente file, ad esempio C:\myFolder o /mnt/myFolder.

  • Sostituire il segnaposto <storage-account-name> con il nome del proprio account di archiviazione.

  • Sostituire il segnaposto <container-name> con il nome del contenitore creato.

Per altre informazioni sul comando sync, vedere Sincronizzare i file.

Creare un'attività pianificata

È possibile creare un'attività pianificata o un processo cron che esegue uno script di comandi AzCopy. Lo script identifica i nuovi dati locali e li carica nella risorsa di archiviazione cloud a specifici intervalli di tempo.

Copiare il comando AzCopy in un editor di testo. Aggiornare i valori di parametro del comando AzCopy con i valori appropriati. Salvare il file come script.sh (Linux) o script.bat (Windows) per AzCopy.

Questi esempi presuppongono che la cartella sia denominata myFolder, che il nome dell'account di archiviazione sia mystorageaccount e che il nome del contenitore sia mycontainer.

Nota

L'esempio Linux aggiunge un token di firma di accesso condiviso. Sarà necessario specificarne uno nel comando. La versione corrente di AzCopy v10 non supporta l'autorizzazione di Microsoft Entra nei processi cron.

azcopy sync "/mnt/myfiles" "https://mystorageaccount.blob.core.windows.net/mycontainer?sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-05-30T06:57:40Z&st=2019-05-29T22:57:40Z&spr=https&sig=BXHippZxxx54hQn/4tBY%2BE2JHGCTRv52445rtoyqgFBUo%3D" --recursive=true

In questa esercitazione viene usato il comando Schtasks per creare un'attività pianificata in Windows, il comando Crontab per creare un processo cron in Linux.

Schtasks consente agli amministratori di creare, eliminare, interrogare, modificare, eseguire e terminare attività pianificate in un computer locale o remoto. Cron consente agli utenti di Linux e Unix di eseguire comandi o script in una data e a un'ora specifiche usando espressioni cron.

Per creare un processo cron in Linux, immettere il comando seguente su un terminale:

crontab -e
*/5 * * * * sh /path/to/script.sh

Se nel comando si specifica l'espressione cron */5 * * * *, si indica che lo script di shell script.sh deve essere eseguito ogni cinque minuti. È possibile pianificare lo script in modo che venga eseguito a un'ora specifica ogni giorno, mese o anno. Per altre informazioni sull'impostazione della data e dell'ora di esecuzione del processo, vedere la sezione sulle espressioni cron.

Per verificare che l'attività pianificata o il processo cron venga eseguito correttamente, creare nuovi file nella directory myFolder. Attendere cinque minuti per verificare che i nuovi file siano stati caricati nell'account di archiviazione. Passare alla directory di log per visualizzare i log di output dell'attività pianificata o del processo cron.

Passaggi successivi

Per altre informazioni sulle modalità disponibili per spostare dati locali in Archiviazione di Azure e viceversa, vedere l'articolo seguente:

Per altre informazioni su AzCopy, vedere gli articoli seguenti: