Mentransfer data dengan AzCopy v7 di Linux

AzCopy adalah utilitas baris perintah yang dirancang untuk menyalin data ke/dari penyimpanan Blob dan File Microsoft Azure, menggunakan perintah sederhana yang dirancang untuk kinerja optimal. Anda dapat menyalin data antara sistem file dan akun penyimpanan, atau antara akun penyimpanan.

Penting

Artikel ini menjelaskan versi AzCopy yang lebih lama. Untuk menginstal azcopy versi terbaru, lihat AzCopy v10.

Catatan

Dimulai di versi AzCopy 7.2, dependensi .NET Core dikemas dengan paket AzCopy. Jika Anda menggunakan versi 7.2 atau yang lebih baru, Anda tidak perlu lagi menginstal .NET Core sebagai prasyarat.

Mengunduh dan Memasang AzCopy

Penginstalan di Linux

Catatan

Anda mungkin perlu menginstal dependensi .NET Core 2.1 yang disorot dalam artikel .NET Core Pre-requireds ini tergantung pada distribusi Anda.

Untuk distribusi RHEL 7, instal dependensi ICU dan libunwind: yum install -y libunwind icu

Menginstal AzCopy di Linux (v7.2 atau lebih baru) semudah mengekstraksi paket tar dan menjalankan skrip instal.

Distribusi berbasis RHEL 6: tautan unduhan

wget -O azcopy.tar.gz https://aka.ms/downloadazcopylinuxrhel6
tar -xf azcopy.tar.gz
sudo ./install.sh

Semua distribusi Linux lainnya: tautan unduhan

wget -O azcopy.tar.gz https://aka.ms/downloadazcopylinux64
tar -xf azcopy.tar.gz
sudo ./install.sh

Anda dapat menghapus file yang diekstraksi setelah AzCopy di Linux diinstal. Atau, jika Anda tidak memiliki hak istimewa superuser, Anda juga dapat menjalankan azcopy menggunakan azcopy skrip shell di folder yang diekstraksi.

Instalasi Alternatif di Ubuntu

Ubuntu 14.04

Tambahkan sumber apt untuk repositori produk Microsoft Linux dan instal AzCopy:

sudo echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-trusty-prod/ trusty main" > azure.list
sudo cp ./azure.list /etc/apt/sources.list.d/
sudo apt-key adv --keyserver packages.microsoft.com --recv-keys EB3E94ADBE1229CF
sudo apt-get update
sudo apt-get install azcopy

Ubuntu 16.04

Tambahkan sumber apt untuk repositori produk Microsoft Linux dan instal AzCopy:

echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod/ xenial main" > azure.list
sudo cp ./azure.list /etc/apt/sources.list.d/
sudo apt-key adv --keyserver packages.microsoft.com --recv-keys EB3E94ADBE1229CF
sudo apt-get update
sudo apt-get install azcopy

Menulis perintah AzCopy pertama Anda

Sintaks dasar untuk perintah AzCopy adalah:

azcopy --source <source> --destination <destination> [Options]

Contoh berikut menunjukkan berbagai skenario untuk menyalin data ke dan dari Microsoft Azure Blob dan File. Lihat azcopy --help menu untuk penjelasan rinci tentang parameter yang digunakan dalam setiap sampel.

Blob: Unduh

Unduh blob tunggal

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer/abc.txt \
    --destination /mnt/myfiles/abc.txt \
    --source-key <key> 

Jika folder /mnt/myfiles tidak ada, AzCopy membuatnya dan mengunduh abc.txt ke folder baru.

Mengunduh blob tunggal dari wilayah sekunder

azcopy \
    --source https://myaccount-secondary.blob.core.windows.net/mynewcontainer/abc.txt \
    --destination /mnt/myfiles/abc.txt \
    --source-key <key>

Perhatikan bahwa Anda harus mengaktifkan penyimpanan geo-redundan akses baca.

Unduh semua blob

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer \
    --destination /mnt/myfiles \
    --source-key <key> \
    --recursive

Asumsikan blob berikut berada dalam kontainer yang ditentukan:

abc.txt
abc1.txt
abc2.txt
vd1/a.txt
vd1/abcd.txt

Setelah operasi pengunduhan, direktori /mnt/myfiles menyertakan file-file berikut:

/mnt/myfiles/abc.txt
/mnt/myfiles/abc1.txt
/mnt/myfiles/abc2.txt
/mnt/myfiles/vd1/a.txt
/mnt/myfiles/vd1/abcd.txt

Jika Anda tidak menentukan opsi --recursive, tidak ada blob yang akan diunduh.

Mengunduh blob dengan awalan yang ditentukan

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer \
    --destination /mnt/myfiles \
    --source-key <key> \
    --include "a" \
    --recursive

Asumsikan blob berikut berada dalam kontainer yang ditentukan. Semua blob yang dimulai dengan awalan a diunduh.

abc.txt
abc1.txt
abc2.txt
xyz.txt
vd1\a.txt
vd1\abcd.txt

Setelah operasi pengunduhan, folder /mnt/myfiles menyertakan file-file berikut:

/mnt/myfiles/abc.txt
/mnt/myfiles/abc1.txt
/mnt/myfiles/abc2.txt

Awalan berlaku untuk direktori virtual, yang membentuk bagian pertama dari nama blob. Pada contoh yang ditunjukkan di atas, direktori virtual tidak cocok dengan awalan yang ditentukan, sehingga tidak ada blob yang diunduh. Selain itu, jika opsi --recursive tidak ditentukan, AzCopy tidak mengunduh blob apa pun.

Atur waktu terakhir yang dimodifikasi dari file yang diekspor agar sama dengan blob sumber

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer \
    --destination "/mnt/myfiles" \
    --source-key <key> \
    --preserve-last-modified-time

Anda juga dapat mengecualikan blob dari operasi pengunduhan berdasarkan waktu modifikasi terakhirnya. Misalnya, jika Anda ingin mengecualikan blob yang waktu modifikasi terakhirnya sama atau lebih baru dari file tujuan, tambahkan --exclude-newer opsi:

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer \
    --destination /mnt/myfiles \
    --source-key <key> \
    --preserve-last-modified-time \
    --exclude-newer

Atau jika Anda ingin mengecualikan blob yang waktu modifikasi terakhirnya sama atau lebih lama dari file tujuan, tambahkan --exclude-older opsi:

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer \
    --destination /mnt/myfiles \
    --source-key <key> \
    --preserve-last-modified-time \
    --exclude-older

Blob: Upload

Upload berkas tunggal

azcopy \
    --source /mnt/myfiles/abc.txt \
    --destination https://myaccount.blob.core.windows.net/mycontainer/abc.txt \
    --dest-key <key>

Jika kontainer tujuan yang ditentukan tidak ada, AzCopy akan membuatnya dan mengunggah file ke dalamnya.

Mengunggah file tunggal ke direktori virtual

azcopy \
    --source /mnt/myfiles/abc.txt \
    --destination https://myaccount.blob.core.windows.net/mycontainer/vd/abc.txt \
    --dest-key <key>

Jika direktori virtual yang ditentukan tidak ada, AzCopy mengunggah file untuk menyertakan direktori virtual dalam nama blob (misalnya, vd/abc.txt pada contoh di atas).

Pengalihan dari stdin

gzip myarchive.tar -c | azcopy \
    --destination https://myaccount.blob.core.windows.net/mycontainer/mydir/myarchive.tar.gz \
    --dest-key <key>

Upload semua file

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.blob.core.windows.net/mycontainer \
    --dest-key <key> \
    --recursive

Menentukan opsi --recursive mengunggah konten direktori yang ditentukan ke penyimpanan Blob secara rekursif, yang berarti bahwa semua subfolder dan file mereka juga diunggah. Misalnya, asumsikan file berikut berada di folder /mnt/myfiles:

/mnt/myfiles/abc.txt
/mnt/myfiles/abc1.txt
/mnt/myfiles/abc2.txt
/mnt/myfiles/subfolder/a.txt
/mnt/myfiles/subfolder/abcd.txt

Setelah operasi unggah, kontainer menyertakan file-file berikut:

abc.txt
abc1.txt
abc2.txt
subfolder/a.txt
subfolder/abcd.txt

Ketika opsi --recursive tidak ditentukan, hanya tiga file berikut yang diunggah:

abc.txt
abc1.txt
abc2.txt

Upload file yang cocok dengan pola tertentu

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.blob.core.windows.net/mycontainer \
    --dest-key <key> \
    --include "a*" \
    --recursive

Asumsikan file-file berikut berada di folder /mnt/myfiles:

/mnt/myfiles/abc.txt
/mnt/myfiles/abc1.txt
/mnt/myfiles/abc2.txt
/mnt/myfiles/xyz.txt
/mnt/myfiles/subfolder/a.txt
/mnt/myfiles/subfolder/abcd.txt

Setelah operasi unggah, kontainer menyertakan file-file berikut:

abc.txt
abc1.txt
abc2.txt
subfolder/a.txt
subfolder/abcd.txt

Ketika opsi --recursive tidak ditentukan, AzCopy melewatkan file yang ada di sub-direktori:

abc.txt
abc1.txt
abc2.txt

Tentukan tipe konten MIME dari blob tujuan

Secara default, AzCopy menetapkan tipe konten blob tujuan ke application/octet-stream. Namun, Anda dapat secara eksplisit menentukan jenis konten melalui opsi --set-content-type [content-type]. Sintaks ini menetapkan tipe konten untuk semua blob dalam operasi unggah.

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.blob.core.windows.net/myContainer/ \
    --dest-key <key> \
    --include "ab" \
    --set-content-type "video/mp4"

Jika opsi --set-content-type ditentukan tanpa nilai, maka AzCopy menetapkan setiap blob atau tipe konten file sesuai dengan ekstensi filenya.

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.blob.core.windows.net/myContainer/ \
    --dest-key <key> \
    --include "ab" \
    --set-content-type

Menyesuaikan pemetaan tipe konten MIME

AzCopy menggunakan file konfigurasi yang berisi pemetaan ekstensi file ke tipe konten. Anda dapat menyesuaikan pemetaan ini dan menambahkan pasangan baru sesuai kebutuhan. Lokasi pemetaan berada di /usr/lib/azcopy/AzCopyConfig.json

Blob: Salin

Menyalin blob tunggal dalam akun Storage

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer1/abc.txt \
    --destination https://myaccount.blob.core.windows.net/mycontainer2/abc.txt \
    --source-key <key> \
    --dest-key <key>

Saat Anda menyalin blob tanpa opsi --sync-copy, operasi salin sisi server dilakukan.

Menyalin blob tunggal di seluruh akun Storage

azcopy \
    --source https://sourceaccount.blob.core.windows.net/mycontainer1/abc.txt \
    --destination https://destaccount.blob.core.windows.net/mycontainer2/abc.txt \
    --source-key <key1> \
    --dest-key <key2>

Saat Anda menyalin blob tanpa opsi --sync-copy, operasi salin sisi server dilakukan.

Menyalin blob tunggal dari wilayah sekunder ke wilayah primer

azcopy \
    --source https://myaccount1-secondary.blob.core.windows.net/mynewcontainer1/abc.txt \
    --destination https://myaccount2.blob.core.windows.net/mynewcontainer2/abc.txt \
    --source-key <key1> \
    --dest-key <key2>

Perhatikan bahwa Anda harus mengaktifkan penyimpanan geo-redundan akses baca.

Menyalin blob tunggal dan snapshotnya di seluruh akun Storage

azcopy \
    --source https://sourceaccount.blob.core.windows.net/mycontainer1/ \
    --destination https://destaccount.blob.core.windows.net/mycontainer2/ \
    --source-key <key1> \
    --dest-key <key2> \
    --include "abc.txt" \
    --include-snapshot

Setelah operasi salin, kontainer target menyertakan blob dan snapshotnya. Kontainer menyertakan blob berikut dan snapshotnya:

abc.txt
abc (2013-02-25 080757).txt
abc (2014-02-21 150331).txt

Salin blob secara sinkron di seluruh akun Storage

AzCopy secara default menyalin data antara dua titik akhir penyimpanan secara asinkron. Oleh karena itu, operasi salin berjalan di latar belakang menggunakan kapasitas bandwidth cadangan yang tidak memiliki SLA dalam hal seberapa cepat blob disalin.

Opsi ini --sync-copy memastikan bahwa operasi penyalinan mendapat kecepatan yang konsisten. AzCopy melakukan salinan sinkron dengan mengunduh blob untuk disalin dari sumber yang ditentukan ke memori lokal, lalu mengunggahnya ke tujuan penyimpanan Blob.

azcopy \
    --source https://myaccount1.blob.core.windows.net/myContainer/ \
    --destination https://myaccount2.blob.core.windows.net/myContainer/ \
    --source-key <key1> \
    --dest-key <key2> \
    --include "ab" \
    --sync-copy

--sync-copy mungkin menghasilkan biaya keluar tambahan dibandingkan dengan salinan asinkron. Pendekatan yang disarankan adalah menggunakan opsi ini di Azure VM, yang berada di wilayah yang sama dengan akun penyimpanan sumber Anda untuk menghindari biaya keluar.

Berkas: Unduh

Unduh satu file

azcopy \
    --source https://myaccount.file.core.windows.net/myfileshare/myfolder1/abc.txt \
    --destination /mnt/myfiles/abc.txt \
    --source-key <key>

Jika sumber yang ditentukan adalah berbagi file Azure, maka Anda harus menentukan nama file yang tepat, (misalnyaabc.txt) untuk mengunduh satu file, atau tentukan opsi --recursive untuk mengunduh semua file dalam berbagi secara rekursif. Mencoba menentukan pola dan opsi --recursive file bersama-sama menghasilkan kesalahan.

Unduh semua file

azcopy \
    --source https://myaccount.file.core.windows.net/myfileshare/ \
    --destination /mnt/myfiles \
    --source-key <key> \
    --recursive

Perhatikan bahwa folder kosong apa pun tidak diunduh.

Berkas: Upload

Upload berkas tunggal

azcopy \
    --source /mnt/myfiles/abc.txt \
    --destination https://myaccount.file.core.windows.net/myfileshare/abc.txt \
    --dest-key <key>

Upload semua file

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.file.core.windows.net/myfileshare/ \
    --dest-key <key> \
    --recursive

Perhatikan bahwa folder kosong apa pun tidak diunggah.

Upload file yang cocok dengan pola tertentu

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.file.core.windows.net/myfileshare/ \
    --dest-key <key> \
    --include "ab*" \
    --recursive

Berkas: Salin

Menyalin di seluruh berbagi file

azcopy \
    --source https://myaccount1.file.core.windows.net/myfileshare1/ \
    --destination https://myaccount2.file.core.windows.net/myfileshare2/ \
    --source-key <key1> \
    --dest-key <key2> \
    --recursive

Saat Anda menyalin file di seluruh berbagi file, operasi penyalinan sisi server dilakukan.

Menyalin dari berbagi file ke blob

azcopy \ 
    --source https://myaccount1.file.core.windows.net/myfileshare/ \
    --destination https://myaccount2.blob.core.windows.net/mycontainer/ \
    --source-key <key1> \
    --dest-key <key2> \
    --recursive

Saat Anda menyalin file dari berbagi file ke blob, operasi penyalinan sisi server dilakukan.

Menyalin dari blob ke berbagi file

azcopy \
    --source https://myaccount1.blob.core.windows.net/mycontainer/ \
    --destination https://myaccount2.file.core.windows.net/myfileshare/ \
    --source-key <key1> \
    --dest-key <key2> \
    --recursive

Saat Anda menyalin file dari blob ke berbagi file, operasi penyalinan sisi server dilakukan.

Menyalin file secara sinkron

Anda dapat menentukan --sync-copy opsi untuk menyalin data dari file Storage ke file Storage, dari Storage File ke Blob Storage dan dari Blob Storage ke File Storage secara sinkron. AzCopy menjalankan operasi ini dengan mengunduh data sumber ke memori lokal, lalu mengunggahnya ke tujuan. Dalam hal ini, biaya jalan keluar standar berlaku.

azcopy \
    --source https://myaccount1.file.core.windows.net/myfileshare1/ \
    --destination https://myaccount2.file.core.windows.net/myfileshare2/ \
    --source-key <key1> \
    --dest-key <key2> \
    --recursive \
    --sync-copy

Saat menyalin dari file Storage ke Blob Storage, jenis blob default adalah blob blok, pengguna dapat menentukan opsi --blob-type page untuk mengubah jenis blob tujuan. Jenis yang tersedia adalah page | block | append.

Perhatikan yang --sync-copy mungkin menghasilkan biaya keluar tambahan dibandingkan dengan salinan asinkron. Pendekatan yang disarankan adalah menggunakan opsi ini di Azure VM, yang berada di wilayah yang sama dengan akun penyimpanan sumber Anda untuk menghindari biaya keluar.

Fitur AzCopy lainnya

Hanya menyalin data yang tidak ada di tujuan

Parameter --exclude-older dan --exclude-newer memungkinkan Anda untuk mengecualikan sumber daya sumber yang lebih lama atau lebih baru dari yang disalin, masing-masing. Jika Anda hanya ingin menyalin sumber daya sumber yang tidak ada di tujuan, Anda dapat menentukan kedua parameter dalam perintah AzCopy:

--source http://myaccount.blob.core.windows.net/mycontainer --destination /mnt/myfiles --source-key <sourcekey> --recursive --exclude-older --exclude-newer

--source /mnt/myfiles --destination http://myaccount.file.core.windows.net/myfileshare --dest-key <destkey> --recursive --exclude-older --exclude-newer

--source http://myaccount.blob.core.windows.net/mycontainer --destination http://myaccount.blob.core.windows.net/mycontainer1 --source-key <sourcekey> --dest-key <destkey> --recursive --exclude-older --exclude-newer

Menggunakan file konfigurasi untuk menentukan parameter baris perintah

azcopy --config-file "azcopy-config.ini"

Anda dapat menyertakan parameter baris perintah AzCopy dalam file konfigurasi. AzCopy memproses parameter dalam file seolah-olah telah ditentukan pada baris perintah, melakukan substitusi langsung dengan isi file.

Asumsikan file konfigurasi bernama copyoperation, yang berisi baris berikut. Setiap parameter AzCopy dapat ditentukan pada satu baris.

--source http://myaccount.blob.core.windows.net/mycontainer --destination /mnt/myfiles --source-key <sourcekey> --recursive --quiet

atau pada baris terpisah:

--source http://myaccount.blob.core.windows.net/mycontainer
--destination /mnt/myfiles
--source-key<sourcekey>
--recursive
--quiet

AzCopy gagal jika Anda membagi parameter di dua baris, seperti yang --source-key ditunjukkan di sini untuk parameter:

http://myaccount.blob.core.windows.net/mycontainer
/mnt/myfiles
--sourcekey
<sourcekey>
--recursive
--quiet

Menentukan tanda tangan akses bersama (SAS)

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer1/abc.txt \
    --destination https://myaccount.blob.core.windows.net/mycontainer2/abc.txt \
    --source-sas <SAS1> \
    --dest-sas <SAS2>

Anda juga dapat menentukan SAS pada kontainer URI:

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer1/?SourceSASToken \
    --destination /mnt/myfiles \
    --recursive

Folder berkas jurnal

Setiap kali Anda mengeluarkan perintah ke AzCopy, ia memeriksa apakah file jurnal ada di folder default, atau apakah itu ada di folder yang Anda tentukan melalui opsi ini. Jika file jurnal tidak ada di kedua tempat, AzCopy memperlakukan operasi sebagai baru dan menghasilkan file jurnal baru.

Jika file jurnal memang ada, AzCopy memeriksa apakah baris perintah yang Anda masukkan cocok dengan baris perintah dalam file jurnal. Jika dua baris perintah cocok, AzCopy melanjutkan operasi yang tidak lengkap. Jika tidak cocok, AzCopy meminta pengguna untuk menimpa file jurnal untuk memulai operasi baru, atau membatalkan operasi saat ini.

Jika Anda ingin menggunakan lokasi default untuk file jurnal:

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.blob.core.windows.net/mycontainer \
    --dest-key <key> \
    --resume

Jika Anda menghilangkan opsi --resume, atau menentukan opsi --resume tanpa jalur folder, seperti yang ditunjukkan di atas, AzCopy membuat file jurnal di lokasi default, yaitu ~\Microsoft\Azure\AzCopy. Jika file jurnal sudah ada, maka AzCopy melanjutkan operasi berdasarkan file jurnal.

Jika Anda ingin menentukan lokasi kustom untuk file jurnal:

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.blob.core.windows.net/mycontainer \
    --dest-key key \
    --resume "/mnt/myjournal"

Contoh ini membuat file jurnal jika belum ada. Jika memang ada, maka AzCopy melanjutkan operasi berdasarkan file jurnal.

Jika Anda ingin melanjutkan operasi AzCopy, ulangi perintah yang sama. AzCopy di Linux kemudian akan meminta konfirmasi:

Incomplete operation with same command line detected at the journal directory "/home/myaccount/Microsoft/Azure/AzCopy", do you want to resume the operation? Choose Yes to resume, choose No to overwrite the journal to start a new operation. (Yes/No)

Log verbose keluaran

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.blob.core.windows.net/mycontainer \
    --dest-key <key> \
    --verbose

Tentukan jumlah operasi bersamaan yang akan dimulai

Opsi --parallel-level menentukan jumlah operasi penyalinan bersamaan. Secara default, AzCopy memulai sejumlah operasi bersamaan untuk meningkatkan throughput transfer data. Jumlah operasi bersamaan sama dengan delapan kali jumlah prosesor yang Anda miliki. Jika Anda menjalankan AzCopy di seluruh jaringan bandwidth rendah, Anda dapat menentukan angka yang lebih rendah untuk --parallel-level untuk menghindari kegagalan yang disebabkan oleh persaingan sumber daya.

Tip

Untuk melihat daftar lengkap parameter AzCopy, lihat menu 'azcopy --help'.

Langkah Instalasi untuk AzCopy 7.1 dan versi sebelumnya

AzCopy di Linux (v7.1 dan sebelumnya saja) memerlukan kerangka kerja .NET Core. Instruksi instalasi tersedia di halaman instalasi .NET Core .

Misalnya, mulailah dengan menginstal .NET Core di Ubuntu 16.10. Untuk panduan instalasi terbaru, kunjungi .NET Core di halaman instalasi Linux.

sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ yakkety main" > /etc/apt/sources.list.d/dotnetdev.list' 
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893
sudo apt-get update
sudo apt-get install dotnet-sdk-2.0.0

Setelah Anda menginstal .NET Core, unduh dan instal AzCopy.

wget -O azcopy.tar.gz https://aka.ms/downloadazcopyprlinux
tar -xf azcopy.tar.gz
sudo ./install.sh

Anda dapat menghapus file yang diekstraksi setelah AzCopy di Linux diinstal. Atau jika Anda tidak memiliki hak istimewa superuser, Anda juga dapat menjalankan azcopy menggunakan azcopy skrip shell di folder yang diekstraksi.

Masalah yang diketahui dan praktik terbaik

Galat Saat menginstal AzCopy

Jika Anda mengalami masalah dengan instalasi AzCopy, Anda dapat mencoba menjalankan AzCopy menggunakan skrip bash di folder yang azcopy diekstraksi.

cd azcopy
./azcopy

Batasi penulisan bersamaan saat menyalin data

Saat Anda menyalin blob atau file dengan AzCopy, perlu diingat bahwa aplikasi lain mungkin memodifikasi data saat Anda menyalinnya. Jika memungkinkan, pastikan bahwa data yang Anda salin tidak dimodifikasi selama operasi penyalinan. Misalnya, saat menyalin VHD yang terkait dengan mesin virtual Azure, pastikan tidak ada aplikasi lain yang saat ini menulis ke VHD. Cara yang baik untuk melakukan ini adalah dengan menyewa sumber daya yang akan disalin. Sebagai alternatif, Anda dapat membuat snapshot VHD terlebih dahulu dan kemudian menyalin snapshot.

Jika Anda tidak dapat mencegah aplikasi lain menulis ke blob atau file saat disalin, maka perlu diingat bahwa pada saat pekerjaan selesai, sumber daya yang disalin mungkin tidak lagi memiliki paritas penuh dengan sumber daya sumber.

Menjalankan beberapa proses AzCopy

Anda dapat menjalankan beberapa proses AzCopy pada satu klien asalkan Anda menggunakan folder jurnal yang berbeda. Menggunakan satu folder jurnal untuk beberapa proses AzCopy tidak didukung.

Proses pertama:

azcopy \
    --source /mnt/myfiles1 \
    --destination https://myaccount.blob.core.windows.net/mycontainer/myfiles1 \
    --dest-key <key> \
    --resume "/mnt/myazcopyjournal1"

Proses kedua:

azcopy \
    --source /mnt/myfiles2 \
    --destination https://myaccount.blob.core.windows.net/mycontainer/myfiles2 \
    --dest-key <key> \
    --resume "/mnt/myazcopyjournal2"

Langkah berikutnya

Untuk informasi selengkapnya tentang Azure Storage dan AzCopy, lihat sumber daya berikut:

dokumentasi Azure Storage:

Azure Storage posting blog: