Bagikan melalui


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.

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 memberikan kredensial otorisasi dengan menggunakan ID Microsoft Entra.

Jika Anda ingin menggunakan token SAS untuk mengotorisasi akses ke data blob, tambahkan token tersebut ke URL sumber daya di setiap perintah AzCopy. Misalnya: 'https://<storage-account-name>.blob.core.windows.net/<container-name><SAS-token>'.

Membuat kontainer

Gunakan 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 ("") alih-alih 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 ("") alih-alih 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 ("") alih-alih 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 dalam 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 ("") alih-alih 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, tetapkan peran Pemilik Data Blob Penyimpanan ke entitas keamanan Anda, atau beri izin untuk Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/writeoperasi penyedia sumber daya Azure melalui peran Azure khusus. Jika Anda menggunakan token Tanda Tangan Akses Bersama (SAS), token harus menyediakan akses ke tag blob melalui t izin SAS.

Untuk menambahkan tag, gunakan opsi --blob-tags dengan pasangan nilai kunci yang dikodekan dalam format URL. Misalnya, untuk menambahkan kunci my tag dan nilai my tag value, sertakan --blob-tags='my%20tag=my%20tag%20value' dalam parameter tujuan.

Pisahkan beberapa tag indeks dengan ampersand (&). Misalnya, untuk menambahkan kunci my second tag dan nilai my second tag value, string 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 ("") alih-alih 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 sumbernya, semua blob yang Anda salin ke tujuan memiliki tag yang sama dengan yang Anda tentukan dalam 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.

Tentukan jenis sumber dan tujuan

AzCopy menggunakan --from-to parameter untuk secara eksplisit menentukan jenis sumber daya sumber dan tujuan ketika deteksi otomatis mungkin gagal - seperti dalam skenario perpipaan atau emulator. Parameter ini membantu AzCopy memahami konteks transfer dan mengoptimalkannya.

Nilai Dari Ke Description
LocalBlob Mengunggah dari sistem file lokal ke Azure Blob Storage
LocalBlobFS Mengunggah dari sistem file lokal ke Azure Data Lake Gen2 (BlobFS)
PipeBlob Mengalirkan data dari pipa ke Azure Blob Storage
PipeFile Mengalirkan data dari pipa ke Azure File Storage

Langkah berikutnya

Temukan contoh lainnya dalam artikel ini:

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