Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Microsoft Azure Blob Storage memungkinkan Anda menyimpan sejumlah besar data objek yang tidak terstruktur. Anda dapat menggunakan penyimpanan blob untuk mengumpulkan atau mengekspos data media, konten, atau aplikasi kepada pengguna. Karena semua data blob disimpan dalam kontainer, Anda harus membuat kontainer penyimpanan sebelum Anda dapat mulai mengunggah data. Untuk mempelajari selengkapnya tentang penyimpanan blob, baca Pengantar penyimpanan Azure Blob.
Azure CLI adalah pengalaman baris perintah lintas platform Azure untuk mengelola sumber daya Azure. Anda dapat menggunakannya di browser Anda dengan Azure Cloud Shell. Anda juga dapat menginstalnya di macOS, Linux, atau Windows dan menjalankannya secara lokal dari baris perintah.
Dalam artikel panduan ini, Anda belajar menggunakan Azure CLI dengan Bash untuk bekerja dengan objek kontainer.
Prasyarat
Untuk mengakses Azure Storage, Anda perlu berlangganan Azure. Jika Anda belum berlangganan, buat akun gratis sebelum memulai.
Semua akses ke Azure Storage dilakukan melalui akun penyimpanan. Untuk mulai cepat ini, Anda dapat membuat akun penyimpanan menggunakan portal Azure, Azure PowerShell, atau Azure CLI. Untuk bantuan membuat akun penyimpanan, lihat Membuat akun penyimpanan.
Persiapkan lingkungan Anda untuk Azure CLI
Gunakan lingkungan Bash di Azure Cloud Shell. Untuk informasi selengkapnya, lihat Mulai menggunakan Azure Cloud Shell.
Jika Anda lebih suka menjalankan perintah referensi CLI secara lokal, instal Azure CLI. Jika Anda menjalankan Windows atau macOS, pertimbangkan untuk menjalankan Azure CLI dalam kontainer Docker. Untuk informasi lebih lanjut, lihat Cara menjalankan Azure CLI di kontainer Docker.
Jika Anda menggunakan penginstalan lokal, masuk ke Azure CLI dengan menggunakan perintah az login. Untuk menyelesaikan proses autentikasi, ikuti langkah-langkah yang ditampilkan di terminal Anda. Untuk opsi masuk lainnya, lihat Mengautentikasi ke Azure menggunakan Azure CLI.
Saat diminta, instal ekstensi Azure CLI saat pertama kali digunakan. Untuk informasi selengkapnya tentang ekstensi, lihat Menggunakan dan mengelola ekstensi dengan Azure CLI.
Jalankan az version untuk mengetahui versi dan pustaka dependen yang terinstal. Untuk memperbarui ke versi terbaru, jalankan az upgrade.
- Selalu ada baiknya untuk menginstal versi terbaru Azure CLI. Jika menggunakan Azure Cloud Shell, versi terbaru sudah terinstal.
Izinkan akses ke penyimpanan Blob
Anda dapat mengotorisasi akses ke penyimpanan Blob dari Azure CLI baik dengan kredensial Microsoft Entra atau dengan menggunakan kunci akses akun penyimpanan. Menggunakan kredensial Microsoft Entra disarankan, dan contoh artikel ini menggunakan ID Microsoft Entra secara eksklusif.
Perintah Azure CLI untuk operasi data terhadap penyimpanan Blob mendukung --auth-mode parameter, yang memungkinkan Anda menentukan cara memberi izin operasi tertentu. Atur --auth-mode parameter ke login untuk mengotorisasi dengan kredensial Microsoft Entra. Untuk informasi selengkapnya, lihat Mengizinkan akses ke data blob atau antrean dengan Azure CLI.
Jalankan perintah login untuk membuka browser dan menyambungkan ke langganan Azure Anda.
az login
Membuat kontainer
Untuk membuat kontainer dengan Azure CLI, panggil perintah az storage container create . Contoh berikut mengilustrasikan tiga opsi untuk pembuatan kontainer blob dengan az storage container create perintah . Pendekatan pertama membuat satu kontainer, sementara dua pendekatan yang tersisa menggunakan operasi pembuatan skrip Bash untuk mengotomatiskan pembuatan kontainer.
Untuk menggunakan contoh ini, berikan nilai untuk variabel dan pastikan Anda telah masuk. Ingatlah untuk mengganti nilai tempat penampung di dalam tanda kurung dengan nilai Anda sendiri.
#!/bin/bash
storageAccount="<storage-account>"
containerName="demo-container-1"
containerPrefix="demo-container-"
# Approach 1: Create a container
az storage container create \
--name $containerName \
--account-name $storageAccount \
--auth-mode login
# Approach 2: Create containers with a loop
for value in {2..5}
do
az storage container create \
--name $containerPrefix$value \
--account-name $storageAccount \
--auth-mode login
done
# Approach 3: Create containers by splitting multiple values
containerList="${containerPrefix}6 ${containerPrefix}7 ${containerPrefix}8"
for container in $containerList
do
az storage container create \
--name $container \
--account-name $storageAccount \
--auth-mode login
done
Daftar kontainer
az storage container list Gunakan perintah untuk mengambil daftar kontainer penyimpanan. Untuk mengembalikan daftar kontainer yang namanya dimulai dengan string karakter tertentu, masukkan string sebagai --prefix nilai parameter.
Parameter --num-results dapat digunakan untuk membatasi jumlah kontainer yang dikembalikan oleh permintaan. Azure Storage membatasi jumlah kontainer yang dikembalikan oleh satu operasi daftar hingga 5000. Batas ini memastikan bahwa jumlah data yang dapat dikelola diambil. Jika jumlah kontainer yang dikembalikan melebihi --num-results nilai atau batas layanan, token kelanjutan dikembalikan. Token ini memungkinkan Anda menggunakan beberapa permintaan untuk mengambil sejumlah kontainer.
Anda juga dapat menggunakan --query parameter untuk menjalankan kueri JMESPath pada hasil perintah. JMESPath adalah bahasa kueri untuk JSON yang memungkinkan Anda memilih dan memodifikasi data yang dikembalikan dari output CLI. Kueri dijalankan pada output JSON sebelum dapat diformat. Untuk informasi selengkapnya, lihat Cara mengkueri output perintah Azure CLI menggunakan kueri JMESPath.
Contoh berikut pertama-tama mencantumkan jumlah maksimum kontainer (tunduk pada batas layanan). Selanjutnya, ia mencantumkan tiga kontainer yang namanya dimulai dengan awalan kontainer- dengan menyediakan nilai untuk parameter --num-results dan --prefix. Terakhir, satu kontainer dicantumkan dengan memberikan nama kontainer yang diketahui ke --prefix parameter .
Baca selengkapnya tentang daftar kontainer penyimpanan az.
#!/bin/bash
storageAccount="<storage-account>"
containerPrefix="demo-container-"
containerName="demo-container-1"
numResults="3"
# Approach 1: List maximum containers
az storage container list \
--account-name $storageAccount \
--auth-mode login
# Approach 2: List a defined number of named containers
az storage container list \
--prefix $containerPrefix \
--num-results $numResults \
--account-name $storageAccount \
--auth-mode login
# Approach 3: List an individual container
az storage container list \
--prefix $containerPrefix \
--query "[?name=='$containerName']" \
--account-name $storageAccount \
--auth-mode login
Membaca properti kontainer dan metadata
Kontainer mengekspos properti sistem dan metadata yang ditentukan pengguna. Properti sistem ada di setiap sumber daya penyimpanan blob. Beberapa properti bersifat baca-saja, sementara yang lain bisa dibaca atau diatur. Secara internal, beberapa properti sistem dipetakan ke header HTTP standar tertentu.
Metadata yang ditentukan pengguna terdiri dari satu atau beberapa pasangan nilai nama yang Anda tentukan untuk sumber daya penyimpanan blob. Anda dapat menggunakan metadata untuk menyimpan nilai tambahan dengan sumber daya. Nilai metadata hanya untuk tujuan Anda sendiri, dan tidak memengaruhi perilaku sumber daya.
Properti kontainer
Untuk menampilkan properti kontainer dengan Azure CLI, panggil perintah az storage container show .
Dalam contoh berikut, pendekatan pertama menampilkan properti dari satu kontainer bernama. Setelah itu, ia mengambil semua kontainer dengan awalan demo-kontainer- dan mengulanginya, mencantumkan propertinya. Ingatlah untuk mengganti nilai tempat penampung dengan nilai Anda sendiri.
#!/bin/bash
storageAccount="<storage-account>"
containerPrefix="demo-container-"
containerName="demo-container-1"
# Show a named container's properties
az storage container show \
--name $containerName \
--account-name $storageAccount \
--auth-mode login
# List several containers and show their properties
containerList=$(az storage container list \
--query "[].name" \
--prefix $containerPrefix \
--account-name $storageAccount \
--auth-mode login \
--output tsv)
for row in $containerList
do
tmpRow=$(echo $row | sed -e 's/\r//g')
az storage container show --name $tmpRow --account-name $storageAccount --auth-mode login
done
Membaca dan menulis metadata kontainer
Pengguna yang memiliki ribuan objek dalam akun penyimpanan mereka dapat dengan cepat menemukan kontainer tertentu berdasarkan metadata mereka. Untuk membaca metadata, Anda akan menggunakan az storage container metadata show perintah . Untuk memperbarui metadata, Anda harus memanggil az storage container metadata update perintah . Metode ini hanya menerima pasangan kunci-nilai yang dipisahkan spasi. Untuk informasi selengkapnya, lihat dokumentasi metadata kontainer penyimpanan az .
Contoh pertama di bawah ini memperbarui dan mengambil metadata dari kontainer bernama. Contoh kedua mengulangi daftar kontainer yang nilainya cocok dengan -prefix. Kontainer dengan nama yang berisi angka genap memiliki metadata yang ditetapkan dengan nilai yang terkandung dalam variabel metadata .
#!/bin/bash
storageAccount="<storage-account>"
containerName="demo-container-1"
containerPrefix="demo-container-"
# Create metadata string
metadata="key=value pie=delicious"
# Update named container metadata
az storage container metadata update \
--name $containerName \
--metadata $metadata \
--account-name $storageAccount \
--auth-mode login
# Display metadata
az storage container metadata show \
--name $containerName \
--account-name $storageAccount \
--auth-mode login
# Get list of containers
containerList=$(az storage container list \
--query "[].name" \
--prefix $containerPrefix \
--account-name $storageAccount \
--auth-mode login \
--output tsv)
# Update and display metadata
for row in $containerList
do
#Get the container's number
tmpName=$(echo $row | sed -e 's/\r//g')
if [ `expr ${tmpName: ${#containerPrefix}} % 2` == 0 ]
then
az storage container metadata update \
--name $tmpName \
--metadata $metadata \
--account-name $storageAccount \
--auth-mode login
echo $tmpName
az storage container metadata show \
--name $tmpName \
--account-name $storageAccount \
--auth-mode login
fi
done
Menghapus wadah
Bergantung pada kasus penggunaan, Anda dapat menghapus satu kontainer atau sekelompok kontainer dengan az storage container delete perintah . Saat menghapus daftar kontainer, Anda harus menggunakan operasi bersyarat sebagaimana ditunjukkan pada contoh di bawah ini.
Peringatan
Menjalankan contoh berikut dapat menghapus kontainer dan blob secara permanen. Microsoft merekomendasikan Anda mengaktifkan penghapusan sementara kontainer untuk melindungi kontainer dan blob dari penghapusan yang tidak disengaja. Untuk informasi selengkapnya, lihat Penghapusan sementara untuk kontainer.
#!/bin/bash
storageAccount="<storage-account>"
containerName="demo-container-1"
containerPrefix="demo-container-"
# Delete a single named container
az storage container delete \
--name $containerName \
--account-name $storageAccount \
--auth-mode login
# Delete containers by iterating a loop
list=$(az storage container list \
--query "[].name" \
--prefix $containerPrefix \
--account-name $storageAccount \
--auth-mode login \
--output tsv)
for row in $list
do
tmpName=$(echo $row | sed -e 's/\r//g')
az storage container delete \
--name $tmpName \
--account-name $storageAccount \
--auth-mode login
done
Jika Anda mengaktifkan penghapusan sementara kontainer untuk akun penyimpanan Anda, anda dapat mengambil kontainer yang telah dihapus. Jika opsi perlindungan data penghapusan sementara akun penyimpanan Anda diaktifkan, --include-deleted parameter akan mengembalikan kontainer yang dihapus dalam periode retensi terkait. Parameter --include-deleted hanya dapat digunakan untuk mengembalikan kontainer saat digunakan dengan --prefix parameter . Untuk mempelajari selengkapnya tentang penghapusan sementara, lihat artikel Penghapusan sementara untuk kontainer .
Gunakan contoh berikut untuk mengambil daftar kontainer yang dihapus dalam periode retensi terkait akun penyimpanan.
#!/bin/bash
storageAccount="<storage-account>"
containerPrefix="demo-container-"
# Retrieve a list of containers including those recently deleted
az storage container list \
--prefix $containerPrefix \
--include-deleted \
--account-name $storageAccount\
--auth-mode login
Memulihkan kontainer yang dihapus secara sementara
Seperti disebutkan di bagian Daftar kontainer , Anda dapat mengonfigurasi opsi perlindungan data penghapusan sementara di akun penyimpanan Anda. Jika diaktifkan, kontainer yang telah dihapus dalam periode retensi terkait dapat dipulihkan. Sebelum dapat mengikuti contoh ini, Anda harus mengaktifkan penghapusan sementara dan mengonfigurasinya di setidaknya salah satu akun penyimpanan Anda.
Contoh berikut menjelaskan cara memulihkan kontainer yang dihapus sementara dengan az storage container restore perintah . Anda harus menyediakan nilai untuk --name parameter dan --version untuk memastikan bahwa versi kontainer yang benar dipulihkan. Jika Anda tidak mengetahui nomor versi, Anda dapat menggunakan az storage container list perintah untuk mengambilnya seperti yang ditunjukkan dalam contoh pertama. Contoh kedua menemukan dan memulihkan semua kontainer yang dihapus dalam akun penyimpanan tertentu.
Untuk mempelajari lebih lanjut tentang opsi perlindungan data penghapusan sementara, lihat artikel Penghapusan Sementara untuk Kontainer.
#!/bin/bash
storageAccount="<storage-account>"
containerName="demo-container-1"
# Restore an individual named container
containerVersion=$(az storage container list \
--account-name $storageAccount \
--query "[?name=='$containerName'].[version]" \
--auth-mode login \
--output tsv \
--include-deleted | sed -e 's/\r//g')
az storage container restore \
--name $containerName \
--deleted-version $containerVersion \
--account-name $storageAccount \
--auth-mode login
# Restore a list of deleted containers
containerList=$(az storage container list \
--account-name $storageAccount \
--include-deleted \
--auth-mode login \
--query "[?deleted].{name:name,version:version}" \
-o json)
for row in $(echo "${containerList}" | jq -c '.[]' )
do
tmpName=$(echo $row | jq -r '.name')
tmpVersion=$(echo $row | jq -r '.version')
az storage container restore \
--account-name $storageAccount \
--name $tmpName \
--deleted-version $tmpVersion \
--auth-mode login
done
Mendapatkan tanda tangan akses bersama untuk kontainer
Tanda tangan akses bersama (SAS) menyediakan akses yang didelegasikan ke sumber daya Azure. SAS memberi Anda kontrol terperinci atas bagaimana klien dapat mengakses data Anda. Misalnya, Anda dapat menentukan sumber daya mana yang tersedia untuk klien. Anda juga dapat membatasi jenis operasi yang dapat dilakukan klien, dan menentukan interval di mana SAS valid.
SAS umumnya digunakan untuk menyediakan akses sementara dan aman ke klien yang biasanya tidak memiliki izin. Untuk menghasilkan SAS layanan atau SAS akun, Anda harus menyediakan nilai untuk parameter --account-name dan --account-key. Contoh skenario ini adalah layanan yang memungkinkan pengguna membaca dan menulis data mereka sendiri ke akun penyimpanan Anda.
Azure Storage mendukung tiga jenis tanda tangan akses bersama (shared access signatures): delegasi pengguna, layanan, dan SAS akun. Untuk informasi selengkapnya tentang tanda tangan akses bersama, lihat artikel Memberikan akses terbatas ke sumber daya Azure Storage menggunakan tanda tangan akses bersama .
Perhatian
Setiap klien yang memiliki SAS yang valid dapat mengakses data di akun penyimpanan Anda sebagaimana diizinkan oleh SAS tersebut. Penting untuk melindungi SAS dari penggunaan berbahaya atau tidak diinginkan. Gunakan kebijaksanaan dalam mendistribusikan SAS, dan siapkan rencana untuk mencabut SAS yang dikompromikan.
Contoh berikut mengilustrasikan proses mengonfigurasi SAS layanan untuk kontainer tertentu menggunakan az storage container generate-sas perintah . Karena menghasilkan SAS untuk layanan, dalam langkah ini contohnya terlebih dahulu mengekstraksi kunci akun penyimpanan untuk digunakan sebagai nilai --account-key.
Contohnya akan mengonfigurasi SAS dengan waktu mulai dan kedaluwarsa dan protokol. Ini juga akan menentukan izin hapus, baca, tulis, dan daftar di SAS menggunakan --permissions parameter . Anda dapat mereferensikan tabel izin lengkap di artikel Membuat LAYANAN SAS .
Salin dan tempel nilai token SAS Blob di lokasi yang aman. Ini hanya akan ditampilkan sekali dan tidak dapat diambil setelah Bash ditutup. Untuk membuat URL SAS, tambahkan token SAS (URI) ke URL untuk layanan penyimpanan.
#!/bin/bash
storageAccount="<storage-account>"
containerName="demo-container-1"
permissions="drwl"
expiry=`date -u -d "30 minutes" '+%Y-%m-%dT%H:%MZ'`
accountKey=$(az storage account keys list \
--account-name $storageAccount \
--query "[?permissions == 'FULL'].[value]" \
--output tsv)
accountKey=$( echo $accountKey | cut -d' ' -f1 )
az storage container generate-sas \
--name $containerName \
--https-only \
--permissions dlrw \
--expiry $expiry \
--account-key $accountKey \
--account-name $storageAccount
Nota
Token SAS yang dikembalikan oleh Azure CLI tidak menyertakan karakter pemisah ('?') untuk string kueri URL. Jika Anda menambahkan token SAS ke URL sumber daya, ingatlah untuk menambahkan karakter pemisah ke URL sumber daya sebelum menambahkan token SAS.
Langkah berikutnya
Dalam artikel panduan ini, Anda mempelajari cara mengelola kontainer di Blob Storage. Untuk mempelajari selengkapnya tentang bekerja dengan penyimpanan blob dengan menggunakan Azure CLI, pilih opsi di bawah ini.