Caricare file nell'archivio BLOB di Azure usando AzCopy
È possibile caricare file e directory nell'archivio BLOB usando l'utilità della riga di comando AzCopy v10.
Per visualizzare esempi per altri tipi di attività, ad esempio il download di BLOB, la sincronizzazione con l'archiviazione BLOB o la copia di BLOB tra account, vedere i collegamenti presentati nella sezione Passaggi successivi di questo articolo.
Operazioni preliminari
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 di firma di accesso condiviso per autorizzare l'accesso ai dati BLOB, è possibile aggiungere tale token all'URL della risorsa in ogni comando AzCopy. Ad esempio: 'https://<storage-account-name>.blob.core.windows.net/<container-name><SAS-token>'
.
Creare un contenitore
È possibile usare il comando azcopy make per creare un contenitore.
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 make 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>'
Esempio
azcopy make 'https://mystorageaccount.blob.core.windows.net/mycontainer'
Esempio (endpoint Data Lake Storage)
azcopy make 'https://mystorageaccount.dfs.core.windows.net/mycontainer'
Per informazioni dettagliate sulla documentazione di riferimento, vedere azcopy make.
Caricare un file
Caricare un file usando il comando azcopy copy.
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 copy '<local-file-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-name>'
Esempio
azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt'
Esempio (endpoint Data Lake Storage)
azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt'
È 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
Scaricare una directory usando il comando azcopy copy.
Questo esempio copia una directory, e tutti i file in essa contenuti, in un contenitore BLOB. Il risultato è una directory con lo stesso nome nel contenitore.
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 copy '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --recursive
Esempio
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --recursive
Esempio (endpoint Data Lake Storage)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --recursive
Per copiare in una directory all'interno del contenitore, è sufficiente specificare il nome di tale directory nella stringa di comando.
Esempio
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory' --recursive
Esempio (endpoint Data Lake Storage)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory' --recursive
Se si specifica il nome di una directory che non esiste nel contenitore, AzCopy crea una nuova directory con tale nome.
Caricare il contenuto della directory
Caricare il contenuto di una directory usando il comando azcopy copy. Usare il simbolo jolly (*) per caricare il contenuto senza copiare la directory contenitore stessa.
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 copy '<local-directory-path>\*' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<directory-path>'
Esempio
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory'
Esempio (endpoint Data Lake Storage)
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory'
Aggiungere il flag --recursive
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 (*) o usando date e ore.
Suggerimento
In questi esempi 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 ('').
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 '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --include-path <semicolon-separated-file-list>
Esempio
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --include-path 'photos;documents\myFile.txt' --recursive'
Esempio (endpoint Data Lake Storage)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --include-path 'photos;documents\myFile.txt' --recursive'
In questo esempio AzCopy trasferisce la directory C:\myDirectory\photos
e il file C:\myDirectory\documents\myFile.txt
. Includere l'opzione --recursive
per trasferire tutti i file nella directory C:\myDirectory\photos
.
È 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 '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --include-pattern <semicolon-separated-file-list-with-wildcard-characters>
Esempio
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --include-pattern 'myFile*.txt;*.pdf*'
Esempio (endpoint Data Lake Storage)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --include-pattern 'myFile*.txt;*.pdf*'
È anche possibile escludere i file usando l'opzione --exclude-pattern
. Per altre informazioni, vedere la documentazione di riferimento di azcopy copy.
Le opzioni --include-pattern
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 di directory e quindi usare -include-pattern
e specificare *.txt
per ottenere tutti i file di testo.
Caricare i file modificati prima o dopo una data e un'ora
Usare il comando azcopy copy con l'opzione --include-before
o --include-after
. Specificare una data e un'ora in formato ISO-8601 (ad esempio: 2020-08-19T15:04:00Z
).
Gli esempi seguenti caricano i file modificati nella data specificata o in seguito.
Sintassi
azcopy copy '<local-directory-path>\*' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>' --include-after <Date-Time-in-ISO-8601-format>
Esempio
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory' --include-after '2020-08-19T15:04:00Z'
Esempio (endpoint Data Lake Storage)
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory' --include-after '2020-08-19T15:04:00Z'
Per informazioni dettagliate, vedere la documentazione di riferimento di azcopy copy.
Caricare con tag indice
È possibile caricare un file e aggiungere tag di indice BLOB al BLOB di destinazione.
Se si usa l'autorizzazione Microsoft Entra, all'entità di sicurezza deve essere assegnato il ruolo di proprietario dei dati del BLOB di archiviazione oppure deve essere concessa l'autorizzazione per l'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write
operazione del provider di risorse di Azure tramite un ruolo di Azure personalizzato. Se si usa un token di firma di accesso condiviso, tale token deve fornire l'accesso ai tag del BLOB tramite l'autorizzazione di firma di accesso condiviso t
.
Per aggiungere tag, usare l'opzione --blob-tags
insieme a una coppia chiave-valore codificata con URL.
Ad esempio, per aggiungere la chiave my tag
e un valore my tag value
, aggiungere --blob-tags='my%20tag=my%20tag%20value'
al parametro di destinazione.
Separare più tag di indice usando una e commerciale (&
). Ad esempio, se si desidera aggiungere una chiave my second tag
e un valore my second tag value
, la stringa di opzione completa sarà --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
.
Negli esempi seguenti viene illustrato come usare l'opzione --blob-tags
.
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 ('').
Caricare un file
azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt' --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Caricare una directory
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Caricare il contenuto della directory
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory' --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Nota
Se si specifica una directory per l'origine, tutti i BLOB copiati nella destinazione avranno gli stessi tag specificati nel comando.
Caricare con flag facoltativi
È possibile modificare l'operazione di caricamento usando flag facoltativi. Ecco alcuni esempi.
Scenario | Flag |
---|---|
Caricare i file come BLOB di accodamento o BLOB di pagine. | --blob-type=[BlockBlob|PageBlob|AppendBlob] |
Effettuare il caricamento in un livello di accesso specifico, ad esempio il livello archivio. | --block-blob-tier=[None|Hot|Cool|Archive] |
Per un elenco completo, vedere le opzioni.
Passaggi successivi
Altri esempi sono disponibili in questi articoli:
- Esempi: Download
- Esempi: Copiare tra account
- Esempi: Sincronizzare
- 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: