Mengunggah file ke penyimpanan Blob Azure menggunakan AzCopy

Anda dapat mengunggah file dan direktori ke penyimpanan Blob dengan menggunakan utilitas baris perintah AzCopy v10.

Untuk melihat contoh jenis tugas lain seperti mengunduh blob, sinkronisasi dengan penyimpanan Blob, atau menyalin blob antar akun, lihat tautan yang disajikan di bagian Langkah Berikutnya di 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>'.

Membuat kontainer

Anda dapat menggunakan perintah azcopy make untuk membuat kontainer.

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 make 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>'

Contoh

azcopy make 'https://mystorageaccount.blob.core.windows.net/mycontainer'

Contoh (titik akhir Data Lake Storage)

azcopy make 'https://mystorageaccount.dfs.core.windows.net/mycontainer'

Untuk dokumen referensi mendetail, lihat azcopy make.

Mengunggah file

Mengunggah file 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 '<local-file-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<blob-name>'

Contoh

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

Contoh (titik akhir Data Lake Storage)

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

Anda juga dapat mengunggah file menggunakan simbol kartubebas (*) di mana saja di jalur file atau nama file. Misalnya: 'C:\myDirectory\*.txt', atau C:\my*\*.txt.

Mengunggah direktori

Mengunggah direktori menggunakan perintah azcopy copy.

Contoh ini menyalin direktori (dan semua file dalam direktori tersebut) ke kontainer blob. Hasilnya adalah direktori dalam kontainer dengan nama yang sama.

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 '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --recursive

Contoh

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

Contoh (titik akhir Data Lake Storage)

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

Untuk menyalin ke direktori dalam kontainer, cukup tentukan nama direktori tersebut di untai (karakter) perintah Anda.

Contoh

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

Contoh (titik akhir Data Lake Storage)

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

Jika Anda menentukan nama direktori yang tidak ada di kontainer, AzCopy membuat direktori baru dengan nama tersebut.

Mengunggah konten direktori

Mengunggah konten direktori menggunakan perintah azcopy.copy. Gunakan simbol kartubebas (*) untuk mengunggah konten tanpa menyalin direktori yang memuatnya.

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 '<local-directory-path>\*' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>/<directory-path>'

Contoh

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

Contoh (titik akhir Data Lake Storage)

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

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

Mengunggah file tertentu

Anda dapat mengunggah file tertentu menggunakan nama file lengkap, nama parsial dengan karakter kartubebas (*), atau dengan 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 ('').

Menentukan beberapa nama blob lengkap

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

Sintaks

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

Contoh

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

Contoh (titik akhir Data Lake Storage)

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

Dalam contoh ini, AzCopy mentransfer direktori C:\myDirectory\photos dan file C:\myDirectory\documents\myFile.txt. Sertakan opsi --recursive untuk mentransfer semua file di direktori C:\myDirectory\photos.

Anda juga dapat mengecualikan file 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 '<local-directory-path>' 'https://<storage-account-name>.<blob or dfs>.core.windows.net/<container-name>' --include-pattern <semicolon-separated-file-list-with-wildcard-characters>

Contoh

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

Contoh (titik akhir Data Lake Storage)

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

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

Opsi --include-pattern dan --exclude-pattern hanya berlaku untuk nama file dan bukan ke jalur. Jika Anda ingin menyalin semua file teks 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.

Unggah file 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 mengunggah file yang diubah pada atau setelah tanggal yang ditentukan.

Sintaks

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

Contoh

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

Contoh (titik akhir Data Lake Storage)

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

Untuk referensi terperinci, lihat dokumen referensi azcopy copy.

Mengunggah dengan tag indeks

Anda dapat mengunggah file dan menambahkan 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 ('').

Unggah file

azcopy copy 'C:\myDirectory\myTextFile.txt' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myTextFile.txt' --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'

Mengunggah direktori

azcopy copy 'C:\myDirectory' 'https://mystorageaccount.blob.core.windows.net/mycontainer' --recursive --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'

Mengunggah konten direktori

azcopy copy 'C:\myDirectory\*' 'https://mystorageaccount.blob.core.windows.net/mycontainer/myBlobDirectory' --blob-tags='my%20tag=my%20tag%20value&my%20second%20tag=my%20second%20tag%20value'

Catatan

Jika Anda menentukan direktori untuk sumber, semua blob yang disalin ke tujuan akan memiliki tag yang sama dengan yang Anda tentukan di perintah.

Mengunggah dengan bendera opsional

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

Skenario Bendera
Unggah file sebagai Blob Tambahan atau Blob Halaman. --blob-type=[BlockBlob|PageBlob|AppendBlob]
Unggah ke tingkat akses tertentu (seperti tingkat arsip). --block-blob-tier=[None|Hot|Cool|Archive]

Untuk daftar lengkap, lihat opsi.

Langkah berikutnya

Temukan contoh lainnya dalam artikel ini:

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