Mengunduh blob dari Azure Blob Storage menggunakan AzCopy

Anda dapat mengunduh blob dan direktori dari penyimpanan Blob menggunakan utilitas baris perintah AzCopy v10.

Untuk melihat contoh jenis tugas lain seperti mengunggah file, menyinkronkan dengan penyimpanan Blob, atau menyalin blob antar akun, lihat tautan yang disajikan di bagian Langkah Berikutnya pada artikel ini.

Mulai

Lihat artikel Mulai menggunakan AzCopy untuk mengunduh AzCopy dan pelajari tentang cara memberikan informasi masuk otorisasi ke layanan penyimpanan.

Catatan

Contoh dalam artikel ini mengasumsikan bahwa Anda telah memberikan kredensial otorisasi dengan menggunakan ID Microsoft Entra.

Jika Anda lebih memilih menggunakan token SAS untuk otorisasi akses ke data blob, Anda dapat menambahkan token tersebut ke URL sumber daya di setiap perintah AzCopy. Sebagai contoh: 'https://<storage-account-name>.blob.core.windows.net/<container-name><SAS-token>'.

Mengunduh blob

Mengunduh blob menggunakan perintah azcopy copy.

Tip

Contoh ini menyertakan argumen jalur dengan tanda kutip tunggal (''). Gunakan tanda kutip tunggal di semua shell perintah kecuali Windows Command Shell (cmd.exe). Jika Anda menggunakan Windows Command Shell (cmd.exe), sertakan argumen jalur dengan tanda kutip ganda ("") dan bukan tanda kutip tunggal ('').

Sintaks

azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>' '<local-file-path>'

Contoh

azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt' 'C:\myDirectory\myTextFile.txt'

Contoh (titik akhir Data Lake Storage)

azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt' 'C:\myDirectory\myTextFile.txt'

Catatan

Jika nilai properti Content-md5 blob berisi hash, AzCopy menghitung hash MD5 untuk data yang diunduh dan memastikan bahwa hash MD5 yang disimpan di Content-md5 properti blob cocok dengan hash terhitung. Jika nilai ini tidak cocok, unduhan gagal kecuali Anda mengambil alih perilaku ini dengan menambahkan --check-md5=NoCheck atau --check-md5=LogOnly ke perintah copy.

Mengunduh direktori

Mengunduh blob menggunakan perintah azcopy copy.

Tip

Contoh ini menyertakan argumen jalur dengan tanda kutip tunggal (''). Gunakan tanda kutip tunggal di semua shell perintah kecuali Windows Command Shell (cmd.exe). Jika Anda menggunakan Windows Command Shell (cmd.exe), sertakan argumen jalur dengan tanda kutip ganda ("") dan bukan tanda kutip tunggal ('').

Sintaks

azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<directory-path>' '<local-directory-path>' --recursive

Contoh

azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory' 'C:\myDirectory'  --recursive

Contoh (titik akhir Data Lake Storage)

azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myBlobDirectory' 'C:\myDirectory'  --recursive

Contoh ini menghasilkan direktori bernama C:\myDirectory\myBlobDirectory yang berisi semua blob yang terunduh.

Mengunduh konten direktori

Anda dapat mengunduh isi direktori tanpa menyalin direktori yang memuatnya dengan menggunakan simbol wildcard (*).

Tip

Contoh ini menyertakan argumen jalur dengan tanda kutip tunggal (''). Gunakan tanda kutip tunggal di semua shell perintah kecuali Windows Command Shell (cmd.exe). Jika Anda menggunakan Windows Command Shell (cmd.exe), sertakan argumen jalur dengan tanda kutip ganda ("") dan bukan tanda kutip tunggal ('').

Catatan

Saat ini, skenario ini hanya didukung untuk akun yang tidak memiliki namespace hierarki.

Sintaks

azcopy copy 'https://<storage-account-name>.blob.core.windows.net/<container-name>/*' '<local-directory-path>/'

Contoh

azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory/*' 'C:\myDirectory'

Tambahkan --recursive bendera untuk mengunduh file di semua subdirektori.

Mengunduh blob tertentu

Anda dapat mengunduh blob tertentu menggunakan nama file lengkap, nama parsial dengan karakter wildcard (*), atau menggunakan tanggal dan waktu.

Tip

Contoh ini menyertakan argumen jalur dengan tanda kutip tunggal (''). Gunakan tanda kutip tunggal di semua shell perintah kecuali Windows Command Shell (cmd.exe). Jika Anda menggunakan Windows Command Shell (cmd.exe), sertakan argumen jalur dengan tanda kutip ganda ("") dan bukan tanda kutip tunggal ('').

Tentukan beberapa nama blob lengkap

Gunakan perintah azcopy copy dengan opsi --include-path. Pisahkan nama blob individual dengan menggunakan titik koma (;).

Sintaks

azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>' '<local-directory-path>' --include-path <semicolon-separated-file-list>

Contoh

azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory'  --include-path 'photos;documents\myFile.txt' --recursive

Contoh (titik akhir Data Lake Storage)

azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory'  --include-path 'photos;documents\myFile.txt'--recursive

Dalam contoh ini, AzCopy mentransfer direktori https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/photos dan file https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/documents/myFile.txt. Sertakan opsi --recursive untuk mentransfer semua blob di direktorihttps://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/photos.

Anda juga dapat mengecualikan blob menggunakan opsi --exclude-path. Untuk mempelajari selengkapnya, lihat dokumen referensi azcopy copy.

Menggunakan karakter kartubebas

Gunakan perintah azcopy copy dengan opsi --include-pattern. Tentukan nama parsial yang menyertakan karakter kartubebas. Pisahkan nama menggunakan titik koma (;).

Sintaks

azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>' '<local-directory-path>' --include-pattern <semicolon-separated-file-list-with-wildcard-characters>

Contoh

azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory'  --include-pattern 'myFile*.txt;*.pdf*'

Contoh (namespace hierarki)

azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory' 'C:\myDirectory'  --include-pattern 'myFile*.txt;*.pdf*'

Anda juga dapat mengecualikan blob menggunakan opsi --exclude-pattern. Untuk mempelajari selengkapnya, lihat dokumen referensi azcopy copy.

Opsi --include-pattern dan --exclude-pattern hanya berlaku untuk nama blob dan bukan ke jalur. Jika Anda ingin menyalin semua file teks (blob) yang ada di pohon direktori, gunakan opsi -recursive untuk mendapatkan seluruh pohon direktori, lalu gunakan -include-pattern dan tentukan *.txt untuk mendapatkan semua file teks.

Unduh blob yang diubah sebelum atau sesudah tanggal dan waktu

Gunakan perintah azcopy copy dengan opsi --include-before atau --include-after. Tentukan tanggal dan waktu dalam format ISO-8601 (Misalnya: 2020-08-19T15:04:00Z).

Contoh berikut mengunduh file yang diubah pada atau setelah tanggal yang ditentukan.

Sintaks

azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-or-directory-name>/*' '<local-directory-path>' --include-after <Date-Time-in-ISO-8601-format>

Contoh

azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/FileDirectory/*' 'C:\myDirectory'  --include-after '2020-08-19T15:04:00Z'

Contoh (titik akhir Data Lake Storage)

azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/FileDirectory/*' 'C:\myDirectory'  --include-after '2020-08-19T15:04:00Z'

Untuk referensi terperinci, lihat dokumen referensi azcopy copy.

Mengunduh versi blob sebelumnya

Jika Anda telah mengaktifkan penerapan versi blob, Anda dapat mengunduh satu atau beberapa versi blob sebelumnya.

Pertama, buat file teks yang berisi daftar ID versi. Setiap ID versi harus muncul di baris terpisah. Misalnya:

2020-08-17T05:50:34.2199403Z
2020-08-17T05:50:34.5041365Z
2020-08-17T05:50:36.7607103Z

Lalu gunakan perintah azcopy copy dengan opsi --list-of-versions. Tentukan lokasi file teks yang berisi daftar versi (Misalnya: D:\\list-of-versions.txt).

Mengunduh rekam jepret blob

Anda dapat mengunduh rekam jepret blob dengan mengacu nilai DateTime dari rekam jepret blob.

Sintaks

azcopy copy 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>?sharesnapshot=<DateTime-of-snapshot>' '<local-file-path>'

Contoh

azcopy copy 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt?sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory\myTextFile.txt'

Contoh (titik akhir Data Lake Storage)

azcopy copy 'https://mystorageaccount.dfs.core.windows.net/mycontainer/myTextFile.txt?sharesnapshot=2020-09-23T08:21:07.0000000Z' 'C:\myDirectory\myTextFile.txt'

Catatan

Jika Anda menggunakan token SAS untuk mengotorisasi akses ke data blob, tambahkan DateTime rekam jepret setelah token SAS. Sebagai contoh: 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt?sv=2018-03-28&ss=bjqt&srs=sco&sp=rjklhjup&se=2019-05-10T04:37:48Z&st=2019-05-09T20:37:48Z&spr=https&sig=/SOVEFfsKDqRry4bk3qz1vAQFwY5DDzp2%2B/3Eykf/JLs%3D&sharesnapshot=2020-09-23T08:21:07.0000000Z'.

Mengunduh dengan bendera opsional

Anda dapat mengubah operasi unduhan menggunakan bendera opsional. Berikut adalah beberapa contohnya.

Skenario Bendera
Mendekompresi file secara otomatis. --decompress
Menentukan seberapa detail Anda ingin entri log terkait salinan dibuat. --log-level=[WARNING|ERROR|INFO|NONE]
Menentukan apakah dan cara menimpa file dan blob yang berkonflik di tujuan. --timpa=[benar|salah|ifSourceNewer|perintah]

Untuk daftar lengkap, lihat opsi.

Langkah berikutnya

Temukan contoh lainnya dalam artikel ini:

Lihat artikel ini untuk mengonfigurasi pengaturan, mengoptimalkan performa, dan memecahkan masalah: