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:
- Contoh: Mengunggah
- Contoh: Menyalin antar akun
- Contoh: Sinkronisasi
- Contoh: Bucket Amazon S3
- Contoh: Google Cloud Storage
- Contoh: Azure Files
- Tutorial: Memigrasikan data lokal ke penyimpanan cloud menggunakan AzCopy
Lihat artikel ini untuk mengonfigurasi pengaturan, mengoptimalkan performa, dan memecahkan masalah: