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.
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 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>'
.
Creazione di un contenitore
È possibile usare il comando azcopy make per creare un contenitore.
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>.<blob or dfs>.core.windows.net/<container-name>'
Esempio
azcopy make 'https://mystorageaccount.blob.core.windows.net/mycontainer'
Esempio (endpoint Archiviazione Data Lake)
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 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 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 Archiviazione Data Lake)
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
Caricare una directory usando il comando azcopy copy .
Questo esempio copia una directory (e tutti i file in tale directory) in un contenitore BLOB. Il risultato è una directory nel contenitore con lo stesso nome.
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 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 Archiviazione Data Lake)
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 della directory nella stringa di comando.
Esempio
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory' --recursive
Esempio (endpoint Archiviazione Data Lake)
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 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 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 Archiviazione Data Lake)
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory'
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.
Suggerimento
Questi esempi 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 ('').
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>.<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 Archiviazione Data Lake)
azcopy copy 'C:\myDirectory' 'https://mystorageaccount.dfs.core.windows.net/mycontainer' --include-path 'photos;documents\myFile.txt' --recursive'
In questo esempio AzCopy trasferisce la C:\myDirectory\photos
directory e il C:\myDirectory\documents\myFile.txt
file. 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>.<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 Archiviazione Data Lake)
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 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 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
).
Negli esempi seguenti vengono caricati i file modificati in o dopo la data specificata.
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 Archiviazione Data Lake)
azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory' --include-after '2020-08-19T15:04:00Z'
Per informazioni di riferimento dettagliate, vedere la documentazione di riferimento azcopy copy .
Caricare con tag di 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 proprietario dei dati BLOB Archiviazione oppure deve essere concessa l'autorizzazione per l'operazione del Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write
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 t
di firma di accesso condiviso.
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
, si aggiungerà --blob-tags='my%20tag=my%20tag%20value'
al parametro di destinazione.
Separare più tag di indice usando una e commerciale (&
). Ad esempio, se si vuole 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 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 ('').
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|Caldo |Cool |Archivio] |
Per un elenco completo, vedere opzioni.
Passaggi successivi
Altri esempi sono disponibili in questi articoli:
- Esempi: Download
- Esempi: Copiare tra account
- Esempi: Sincronizzazione
- Esempi: bucket Amazon S3
- Esempi: Google Cloud Archiviazione
- Esempi: File di Azure
- Esercitazione: Eseguire la migrazione dei dati locali nell'archiviazione cloud usando AzCopy
Vedere questi articoli per configurare le impostazioni, ottimizzare le prestazioni e risolvere i problemi: