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 APIserver-ke-server, sehingga data disalin secara langsung antarserver penyimpanan.

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 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. Sebagai contoh: 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 ke false (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/writeoperasi 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:

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