Menyalin blob antar akun penyimpanan Azure dengan AzCopy
Anda dapat menyalin blob, direktori, dan kontainer antar akun penyimpanan dengan menggunakan utilitas baris perintah AzCopy v10.
Untuk melihat contoh jenis tugas lain seperti mengunggah file, mengunduh blob, dan penyinkronan dengan penyimpanan Blob, lihat tautan yang disajikan di bagian Langkah Berikutnya artikel ini.
AzCopy menggunakan API server-ke-server, sehingga data disalin langsung antar server penyimpanan.
Memulai
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 dan bahwa identitas Microsoft Entra Anda memiliki penetapan peran yang tepat untuk akun sumber dan tujuan.
Atau Anda dapat menambahkan token SAS ke URL sumber atau tujuan di setiap perintah AzCopy. Misalnya: azcopy copy 'https://<source-storage-account-name>.blob.core.windows.net/<container-name>/<blob-path><SAS-token>' 'https://<destination-storage-account-name>.blob.core.windows.net/<container-name>/<blob-path><SAS-token>'
.
Panduan
Terapkan panduan berikut ini ke perintah AzCopy Anda.
Jika Anda menggunakan otorisasi Microsoft Entra untuk sumber dan tujuan, kedua akun harus milik penyewa Microsoft Entra yang sama.
Klien Anda harus memiliki akses jaringan ke akun penyimpanan sumber dan tujuan. Untuk mempelajari cara mengonfigurasikan pengaturan jaringan setiap akun penyimpanan, lihat Mengonfigurasikan firewall dan jaringan virtual Azure Storage.
Jika Anda menyalin ke akun penyimpanan blob blok premium, hilangkan tingkat penyimpanan blob dari operasi salin dengan mengatur
s2s-preserve-access-tier
kefalse
(Misalnya:--s2s-preserve-access-tier=false
). Akun penyimpanan blob blok premium tidak mendukung tingkat penyimpanan.Anda dapat meningkatkan throughput operasi salin dengan mengatur nilai variabel lingkungan
AZCOPY_CONCURRENCY_VALUE
. Untuk mempelajari selengkapnya, lihat Meningkatkan Konkurensi.Jika blob sumber memiliki tag indeks, dan Anda ingin mempertahankan tag tersebut, Anda harus menerapkannya kembali ke blob tujuan. Untuk informasi tentang cara mengatur tag indeks, lihat bagian Menyalin blob ke akun penyimpanan lain dengan tag indeks dari artikel ini.
Menyalin blob
Menyalin blob ke akun penyimpanan lain 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://<source-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>' 'https://<destination-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-path>'
Contoh
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myTextFile.txt' 'https://mydestinationaccount.blob.core.windows.net/mycontainer/myTextFile.txt'
Contoh (titik akhir Data Lake Storage)
azcopy copy 'https://mysourceaccount.dfs.core.windows.net/mycontainer/myTextFile.txt' 'https://mydestinationaccount.dfs.core.windows.net/mycontainer/myTextFile.txt'
Operasi salin ini bersifat sinkron, sehingga ketika perintah dikembalikan, hal itu menunjukkan bahwa semua file telah disalin.
Menyalin direktori
Menyalin direktori ke akun penyimpanan lain dengan 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://<source-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<directory-path>' 'https://<destination-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --recursive
Contoh
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myBlobDirectory' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive
Contoh (titik akhir Data Lake Storage)
azcopy copy 'https://mysourceaccount.dfs.core.windows.net/mycontainer/myBlobDirectory' 'https://mydestinationaccount.dfs.core.windows.net/mycontainer' --recursive
Operasi penyalinan sinkron. Semua file telah disalin ketika perintah kembali.
Menyalin kontainer
Menyalin kontainer ke akun penyimpanan lain dengan 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://<source-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' 'https://<destination-storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --recursive
Contoh
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive
Contoh (titik akhir Data Lake Storage)
azcopy copy 'https://mysourceaccount.dfs.core.windows.net/mycontainer' 'https://mydestinationaccount.dfs.core.windows.net/mycontainer' --recursive
Operasi penyalinan sinkron. Semua file telah disalin ketika perintah kembali.
Menyalin kontainer, direktori, dan blob
Menyalin semua kontainer, direktori, dan blob ke akun penyimpanan lain dengan 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://<source-storage-account-name>.<blob or dfs>.core.windows.net/' 'https://<destination-storage-account-name>.<blob or dfs>.core.windows.net/' --recursive
Contoh
azcopy copy 'https://mysourceaccount.blob.core.windows.net/' 'https://mydestinationaccount.blob.core.windows.net' --recursive
Contoh (titik akhir Data Lake Storage)
azcopy copy 'https://mysourceaccount.dfs.core.windows.net/' 'https://mydestinationaccount.dfs.core.windows.net' --recursive
Operasi salin ini bersifat sinkron, sehingga ketika perintah dikembalikan, hal itu menunjukkan bahwa semua file telah disalin.
Menyalin blob dan menambahkan tag indeks
Salin blob ke akun penyimpanan lain dan tambahkan tag indeks blob ke blob target.
Jika Anda menggunakan otorisasi Microsoft Entra, prinsip keamanan Anda harus diberi peran Pemilik Data Blob Penyimpanan, atau harus diberikan izin ke Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write
operasi penyedia sumber daya Azure melalui peran Azure kustom. Jika Anda menggunakan token Tanda Tangan Akses Bersama (SAS), token tersebut harus menyediakan akses ke tag blob melalui izin SAS t
.
Untuk menambahkan tag, gunakan opsi --blob-tags
bersama dengan pasangan kunci-nilai yang dikodekan URL.
Misalnya, untuk menambahkan kunci my tag
dan nilai my tag value
, Anda akan menambahkan --blob-tags='my%20tag=my%20tag%20value'
ke parameter tujuan.
Pisahkan beberapa tag indeks dengan menggunakan ampersand (&
). Misalnya, jika Anda ingin menambahkan kunci my second tag
dan nilai my second tag value
, untai (karakter) opsi lengkapnya adalah --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
.
Contoh berikut menunjukkan cara menggunakan opsi --blob-tags
.
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 ('').
Contoh blob
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myTextFile.txt' 'https://mydestinationaccount.blob.core.windows.net/mycontainer/myTextFile.txt' --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Contoh direktori
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer/myBlobDirectory' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Contoh kontainer
azcopy copy 'https://mysourceaccount.blob.core.windows.net/mycontainer' 'https://mydestinationaccount.blob.core.windows.net/mycontainer' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Contoh akun
azcopy copy 'https://mysourceaccount.blob.core.windows.net/' 'https://mydestinationaccount.blob.core.windows.net' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'
Operasi penyalinan sinkron. Semua file telah disalin ketika perintah kembali.
Catatan
Jika Anda menentukan direktori, kontainer, atau akun untuk sumbernya, semua blob yang disalin ke tujuan akan memiliki tag yang sama dengan yang Anda tentukan dalam perintah.
Menyalin dengan bendera opsional
Anda dapat mengubah operasi salin menggunakan bendera opsional. Berikut adalah beberapa contohnya.
Skenario | Bendera |
---|---|
Menyalin blob sebagai Blob Blok, Halaman, atau Tambahan. | --blob-type=[BlockBlob|PageBlob|AppendBlob] |
Menyalin ke tingkat penyimpanan tertentu (seperti tingkat arsip). | --block-blob-tier=[None|Hot|Cool|Archive] |
Mendekompresi file secara otomatis. | --decompress=[gzip|deflate] |
Untuk daftar lengkap, lihat opsi.
Langkah berikutnya
Temukan contoh lainnya dalam artikel ini:
- Contoh: Mengunggah
- Contoh: Mengunduh
- 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: