Mengelola dan menemukan data Azure Blob dengan tag indeks blob
Ketika himpunan data semakin besar, menemukan objek tertentu di lautan data bisa jadi menyulitkan. Tag indeks blob menyediakan manajemen data dan kemampuan penemuan dengan menggunakan atribut tag indeks nilai-kunci. Anda dapat mengategorikan dan menemukan objek dalam satu kontainer atau di semua kontainer di akun penyimpanan Anda. Saat persyaratan data berubah, objek dapat dikategorikan secara dinamis dengan memperbarui tag indeks mereka. Objek dapat tetap di tempat dengan organisasi kontainer terkini objek tersebut.
Tag indeks blob memungkinkan Anda:
Mengategorikan blob Anda secara dinamis menggunakan tag indeks nilai-kunci
Menemukan blob bertag tertentu dengan cepat di seluruh akun penyimpanan
Menentukan perilaku kondisional untuk API blob berdasarkan evaluasi tag indeks
Menggunakan tag indeks untuk kontrol tingkat lanjut pada fitur seperti manajemen siklus hidup blob
Pertimbangkan skenario saat Anda memiliki jutaan blob di akun penyimpanan yang diakses oleh berbagai aplikasi. Anda ingin menemukan semua data terkait dari satu proyek. Anda tidak yakin apa yang tercakup karena data dapat tersebar di beberapa kontainer dengan konvensi penamaan berbeda. Namun, aplikasi Anda mengunggah semua data dengan tag berdasarkan proyek aplikasi-aplikasi tersebut. Alih-alih mencari melalui jutaan blob dan membandingkan nama serta properti, Anda dapat menggunakan Project = Contoso
sebagai kriteria penemuan Anda. Indeks blob akan memfilter semua kontainer di seluruh akun penyimpanan Anda untuk dengan cepat menemukan dan mengembalikan hanya kumpulan 50 blob dari Project = Contoso
.
Untuk memulai dengan contoh tentang cara menggunakan indeks blob, lihat Gunakan tag indeks blob untuk mengelola dan menemukan data.
Tag indeks blob dan manajemen data
Prefiks nama kontainer dan blob merupakan kategorisasi satu dimensi. Tag indeks blob memungkinkan kategorisasi multi-dimensi untuk jenis data blob (Blok, Lampiran, atau Halaman). Kategorisasi multi-dimensi diindeks secara asli oleh Azure Blob Storage sehingga Anda dapat dengan cepat menemukan data.
Pertimbangkan lima blob berikut di akun penyimpanan Anda:
container1/transaction.csv
container2/campaign.docx
photos/bannerphoto.png
archives/completed/2019review.pdf
logs/2020/01/01/logfile.txt
Blob ini dipisahkan menggunakan prefiks nama container/virtual folder/blob. Anda dapat mengatur atribut tag indeks Project = Contoso
pada lima blob ini untuk mengategorikannya bersama sambil mempertahankan organisasi prefiksnya saat ini. Menambahkan tag indeks menghilangkan kebutuhan untuk memindahkan data dengan mengekspos kemampuan filter dan temukan data menggunakan indeks.
Mengatur tag indeks blob
Tag indeks blob adalah atribut nilai-kunci yang dapat diterapkan ke objek baru atau yang sudah ada dalam akun penyimpanan Anda. Anda dapat menentukan tag indeks selama proses pengunggahan menggunakan operasi Taruh Blob, Taruh Daftar Blok, atau Salin Blob dan header x-ms-tags
opsional. Jika Anda sudah memiliki blob di akun penyimpanan, panggil Atur Tag Blob yang meneruskan dokumen XML yang diformat dengan tag indeks di isi permintaan.
Penting
Mengatur tag indeks blob dapat dilakukan oleh Pemilik Data Blob Azure Storage dan oleh siapa saja dengan Tanda Tangan Akses Bersama yang memiliki izin untuk mengakses tag blob (izin SAS t
).
Selain itu, pengguna RBAC dengan izin Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write
dapat melakukan operasi ini.
Anda dapat menerapkan tag tunggal pada blob Anda untuk menjelaskan kapan data Anda selesai diproses.
"processedDate" = '2020-01-01'
Anda dapat menerapkan beberapa tag pada blob Anda agar lebih deskriptif terhadap data.
"Proyek" = 'Contoso' "Klasifikasi" = 'True' "Status" = 'Unprocessed' "Prioritas" = '01'
Untuk memodifikasi atribut tag indeks yang ada, ambil atribut tag yang ada, modifikasi atribut tag, dan ganti dengan operasi Atur Tag Blob. Untuk menghapus semua tag indeks dari blob, panggil operasi Set Blob Tags
tanpa atribut tag yang ditentukan. Karena tag indeks blob adalah sub sumber daya konten data blob, Set Blob Tags
tag indeks blob tidak memodifikasi konten yang mendasarinya dan tidak mengubah waktu modifikasi blob terakhir atau eTag. Anda dapat membuat atau memodifikasi {i>tag blob Tag blobtag
Batasan berikut berlaku untuk tag indeks blob:
Setiap blob dapat memiliki hingga 10 tag indeks blob
Kunci tag harus antara satu dan 128 karakter.
Nilai tag harus antara nol dan 256 karakter.
Kunci dan nilai tag peka huruf besar/kecil.
Kunci dan nilai tag hanya mendukung tipe data untai (karakter). Setiap angka, tanggal, waktu, atau karakter khusus disimpan sebagai string.
Jika penerapan versi diaktifkan, tag indeks diterapkan ke versi blob tertentu. Jika Anda mengatur tag indeks pada versi saat ini, dan versi baru dibuat, maka tag tidak akan dikaitkan dengan versi baru. Tag hanya akan dikaitkan dengan versi sebelumnya.
Kunci dan nilai tag harus mematuhi aturan penamaan berikut:
Karakter alfanumerik:
a sampai z (huruf kecil)
A sampai Z (huruf besar)
0 sampai 9 (angka)
Karakter khusus yang valid: spasi, plus, minus, titik, titik dua, sama dengan, garis bawah, garis miring maju (
+-.:=_/
)
Tip
Anda dapat menggunakan tugas penyimpanan untuk mengatur tag pada objek dalam skala besar di beberapa akun penyimpanan berdasarkan serangkaian kondisi yang Anda tentukan. Tugas penyimpanan adalah sumber daya yang tersedia di Azure Storage Actions; kerangka kerja tanpa server yang dapat Anda gunakan untuk melakukan operasi data umum pada jutaan objek di beberapa akun penyimpanan. Untuk mempelajari selengkapnya, lihat Apa itu Tindakan Azure Storage?.
Mendapatkan dan mencantumkan tag indeks blob
Tag indeks blob disimpan sebagai sub sumber daya bersama data blob dan dapat diambil secara independen dari konten data blob yang mendasarinya. Tag indeks blob untuk blob tunggal dapat diambil dengan operasi Dapatkan Tag Blob. Operasi Cantumkan Blobs dengan parameter include:tags
juga akan menampilkan semua blob dalam kontainer bersamaan dengan tag indeks blob masing-masing kontainer tersebut.
Penting
Mendapatkan dan mencantumkan tag indeks blob dapat dilakukan oleh Pemilik Data Blob Azure Storage dan oleh siapa saja dengan Tanda Tangan Akses Bersama yang memiliki izin untuk mengakses tag blob (izin SAS t
).
Selain itu, pengguna RBAC dengan izin Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/read
dapat melakukan operasi ini.
Untuk setiap blob dengan setidaknya satu tag indeks blob, x-ms-tag-count
yang ditampilkan dalam operasi Cantumkan Blob, Dapatkan Blob, dan Dapatkan Properti Blob menunjukkan jumlah tag indeks pada blob.
Menemukan data menggunakan tag indeks blob
Mesin pengindeksan mengekspos atribut nilai kunci Anda ke dalam indeks multi-dimensi. Setelah mengatur tag indeks Anda, tag indeks tersebut ada di blob dan dapat segera diambil.
Mungkin perlu waktu sebelum indeks blob diperbarui. Ini berlaku untuk menambahkan tag dan mengedit tag yang sudah ada. Jumlah waktu yang diperlukan tergantung pada beban kerja. Misalnya, jika operasi Atur Tag Blob membutuhkan waktu 30 menit untuk diselesaikan dengan kecepatan 15000 hingga 20000 transaksi per detik, maka diperlukan waktu hingga 10 menit untuk mengindeks semua blob tersebut. Pada tingkat yang lebih rendah, penundaan pengindeksan bisa di bawah satu detik. Distribusi lalu lintas juga memengaruhi penundaan pengindeksan. Misalnya, jika aplikasi klien menetapkan tag pada blob dalam urutan berurutan di bawah kontainer yang sama, penundaannya bisa lebih tinggi daripada jika tag diterapkan ke blob yang tidak terletak bersamaan.
Setelah pembaruan indeks blob, Anda dapat menggunakan kemampuan kueri dan penemuan asli yang ditawarkan oleh Blob Storage.
Operasi Temukan Blob menurut Tag memungkinkan Anda mendapatkan sekumpulan blob yang difilter dengan tag indeks yang cocok dengan ekspresi kueri tertentu. Find Blobs by Tags
mendukung pemfilteran di semua kontainer dalam akun penyimpanan atau Anda dapat mencakup pemfilteran hanya untuk satu kontainer. Karena semua kunci dan nilai tag indeks adalah untai (karakter), operator relasional menggunakan pengurutan leksikografis.
Penting
Menemukan data menggunakan tag indeks blob dapat dilakukan oleh Pemilik Data Blob Penyimpanan dan oleh siapa pun dengan Tanda Tangan Akses Bersama yang memiliki izin untuk menemukan blob menurut tag ( f
izin SAS).
Selain itu, pengguna RBAC dengan izin Microsoft.Storage/storageAccounts/blobServices/containers/blobs/filter/action
dapat melakukan operasi ini.
Kriteria berikut berlaku untuk pemfilteran indeks blob:
Kunci tag harus diapit dalam tanda kutip ganda (")
Nilai tag dan nama kontainer harus diapit dalam tanda kutip tunggal (')
Karakter @ hanya diperbolehkan untuk pemfilteran pada nama kontainer tertentu (misalnya,
@container = 'ContainerName'
)Filter diterapkan dengan pengurutan leksikografis pada untai (karakter)
Operasi rentang sisi sama pada kunci yang sama tidak valid (misalnya,
"Rank" > '10' AND "Rank" >= '15'
)Saat menggunakan REST untuk membuat ekspresi filter, karakter harus dikodekan URI
Kueri tag dioptimalkan untuk pencocokan kesetaraan menggunakan satu tag (mis. StoreID = "100"). Kueri rentang yang menggunakan tag tunggal yang melibatkan >, >=, <, <= juga efisien. Kueri apa pun yang menggunakan AND dengan lebih dari satu tag tidak akan seefisien itu. Misalnya, Biaya > "01" DAN Biaya <= "100" adalah efisien. Biaya > "01 DAN StoreID = "2" tidak seefisien itu.
Tabel di bawah ini menunjukkan semua operator yang valid untuk Find Blobs by Tags
:
Operator | Deskripsi | Contoh |
---|---|---|
= | Equal | "Status" = 'In Progress' |
> | Lebih besar dari | "Date" > '2018-06-18' |
>= | Lebih besar dari atau sama dengan | "Priority" >= '5' |
< | Kurang dari | "Age" < '32' |
<= | Kurang dari atau sama dengan | "Priority" <= '5' |
AND | Logika And | "Rank" >= '010' AND "Rank" < '100' |
@container | Dicakup ke kontainer tertentu | @container = 'videofiles' AND "status" = 'done' |
Catatan
Biasakan dengan pengurutan leksikografis saat mengatur dan mengkueri tag.
- Angka diurutkan sebelum huruf. Angka diurutkan berdasarkan digit pertama.
- Huruf besar diurutkan sebelum huruf kecil.
- Simbol tidak termasuk standar. Beberapa simbol diurutkan sebelum nilai numerik. Simbol lain diurutkan sebelum atau sesudah huruf.
Operasi blob kondisional dengan tag indeks blob
Di REST versi 2019-10-10 dan yang lebih tinggi, sebagian besar API layanan blob sekarang mendukung header kondisional, x-ms-if-tags
, sehingga operasi hanya akan berhasil jika kondisi indeks blob yang ditentukan terpenuhi. Jika kondisinya tidak terpenuhi, Anda akan mendapat error 412: The condition specified using HTTP conditional header(s) is not met
.
Header x-ms-if-tags
dapat digabungkan dengan header kondisional HTTP lainnya yang ada (If-Match, If-None-Match, dan sebagainya). Jika beberapa header kondisional disediakan dalam permintaan, semuanya harus dievaluasi true agar operasi berhasil. Semua header kondisional digabungkan dengan logika AND secara efektif.
Tabel di bawah ini menunjukkan operator yang valid untuk operasi kondisional:
Operator | Deskripsi | Contoh |
---|---|---|
= | Equal | "Status" = 'In Progress' |
<> | Tidak sama dengan | "Status" <> 'Done' |
> | Lebih besar dari | "Date" > '2018-06-18' |
>= | Lebih besar dari atau sama dengan | "Priority" >= '5' |
< | Kurang dari | "Age" < '32' |
<= | Kurang dari atau sama dengan | "Priority" <= '5' |
AND | Logika And | "Rank" >= '010' AND "Rank" < '100' |
ATAU | Logika or | "Status" = 'Done' OR "Priority" >= '05' |
Catatan
Ada dua operator tambahan, tidak sama dengan dan logika or, yang diperbolehkan di header kondisional x-ms-if-tags
untuk operasi blob tetapi tidak ada dalam operasi Find Blobs by Tags
.
Integrasi platform dengan tag indeks blob
Tag indeks blob tidak hanya membantu Anda mengategorikan, mengelola, dan mencari pada data blob, tetapi juga menyediakan integrasi dengan fitur Blob Storage lainnya, seperti manajemen siklus hidup.
Manajemen siklus hidup
Dengan menggunakan blobIndexMatch
sebagai filter aturan dalam manajemen siklus hidup, Anda dapat memindahkan data ke tingkat yang lebih dingin atau menghapus data berdasarkan tag indeks yang diterapkan ke blob Anda. Anda bisa lebih terperinci dalam aturan dan hanya memindahkan atau menghapus blob jika cocok dengan kriteria tag yang ditentukan.
Anda dapat mengatur kecocokan indeks blob sebagai filter mandiri yang diatur dalam aturan siklus hidup untuk menerapkan tindakan pada data yang diberi tag. Atau Anda dapat menggabungkan prefiks dan indeks blob untuk mencocokkan himpunan data lebih spesifik. Menentukan beberapa filter dalam aturan siklus hidup menerapkan operasi logika AND. Tindakan hanya akan berlaku jika semua kriteria filter cocok.
Sampel aturan manajemen siklus hidup berikut berlaku untuk blob blok dalam kontainer yang bernama videofiles
. Tingkat aturan blob untuk mengarsipkan penyimpanan hanya berlaku jika data cocok dengan kriteria tag indeks blob "Status" == 'Processed' AND "Source" == 'RAW'
.
Izin dan Otorisasi
Anda dapat mengotorisasi akses ke tag indeks blob menggunakan salah satu pendekatan berikut:
Menggunakan kontrol akses berbasis peran Azure (Azure RBAC) untuk memberikan izin kepada perwakilan keamanan Microsoft Entra. Gunakan ID Microsoft Entra untuk keamanan yang unggul dan kemudahan penggunaan. Untuk informasi selengkapnya tentang menggunakan ID Microsoft Entra dengan operasi blob, lihat Mengotorisasi akses ke data di Azure Storage.
Menggunakan tanda tangan akses bersama (SAS) untuk mendelegasikan akses ke indeks blob. Untuk informasi selengkapnya tentang tanda tangan akses bersama, lihat Berikan akses terbatas ke sumber daya Azure Storage dengan menggunakan tanda tangan akses berbagi (SAS).
Menggunakan kunci akses akun untuk mengotorisasi operasi dengan Kunci Bersama. Untuk informasi selengkapnya, lihat Mengotorisasi dengan Kunci Bersama.
Tag indeks blob adalah sub sumber daya ke data blob. Pengguna dengan izin atau token SAS untuk baca atau tulis blob mungkin tidak memiliki akses ke tag indeks blob.
Kontrol Akses Berbasis Peran
Penelepon yang menggunakan identitas Microsoft Entra dapat diberikan izin berikut untuk beroperasi pada tag indeks blob.
Operasi tag indeks blob | Tindakan Azure RBAC |
---|---|
Atur Tag Blob | Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write |
Dapatkan Tag Blob | Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/read |
Temukan Blob menurut Tag | Microsoft.Storage/storageAccounts/blobServices/containers/blobs/filter/action |
Izin tambahan, terpisah dari data blob yang mendasarinya, diperlukan untuk operasi tag indeks. Peran Pemilik Data Blob Storage diberikan izin untuk ketiga operasi tag indeks blob.
Izin SAS
Pemanggil yang menggunakan tanda tangan akses bersama (SAS) dapat diberikan cakupan izin untuk beroperasi pada tag indeks blob.
SAS Layanan untuk blob
Izin berikut dapat diberikan dalam SAS layanan untuk blob guna mengizinkan akses ke tag indeks blob. Blob membaca (r
) dan menulis izin (w
) saja tidak cukup untuk mengizinkan membaca atau menulis tag indeksnya.
Izin | Simbol URI | Operasi yang diizinkan |
---|---|---|
Tag indeks | t | Dapatkan dan atur tag indeks untuk blob |
SAS Layanan untuk kontainer
Izin berikut dapat diberikan dalam SAS layanan untuk kontainer guna memungkinkan pemfilteran pada tag blob. Izin daftar gumpalan (i
) tidak cukup untuk memungkinkan pemfilteran blob dengan tag indeks blob.
Izin | Simbol URI | Operasi yang diizinkan |
---|---|---|
Tag indeks | f | Temukan blob dengan tag indeks |
Akun SAS
Izin berikut dapat diberikan dalam SAS akun untuk memungkinkan akses ke tag indeks blob dan pemfilteran pada tag blob.
Izin | Simbol URI | Operasi yang diizinkan |
---|---|---|
Tag indeks | t | Dapatkan dan atur tag indeks untuk blob |
Tag indeks | f | Temukan blob dengan tag indeks |
Blob membaca (r
) dan menulis izin (w
) saja tidak cukup untuk memungkinkan membaca atau menulis tag indeksnya, dan izin daftar (i
) tidak cukup untuk memungkinkan pemfilteran blob dengan tag indeks blob.
Memilih antara metadata dan tag indeks blob
Baik tag indeks blob atau pun metadata menyediakan kemampuan untuk menyimpan properti nilai kunci yang ditentukan pengguna bersama sumber daya blob. Keduanya dapat diambil dan diatur secara langsung, tanpa menampilkan atau mengubah isi blob. Dimungkinkan untuk menggunakan metadata dan tag indeks.
Hanya tag indeks yang terindeks secara otomatis dan dibuat tercari oleh layanan Blob Storage asli. Metadata tidak terindeks atau dicari secara asli. Anda harus menggunakan layanan terpisah seperti Azure Search. Tag indeks blob memiliki izin tambahan untuk membaca, memfilter, dan menulis yang terpisah dari data blob yang mendasarinya. Metadata menggunakan izin yang sama dengan blob dan ditampilkan sebagai header HTTP oleh operasi Dapatkan Blob dan Dapatkan Properti Blob. Tag indeks blob dienkripsi saat tidak digunakan menggunakan kunci terkelola Microsoft. Metadata dienkripsi saat tidak digunakan menggunakan kunci enkripsi yang sama yang ditentukan untuk data blob.
Tabel berikut ini meringkas perbedaan antara tag indeks metadata dan blob:
Metadata | Tag indeks blob | |
---|---|---|
Batas | Tidak ada batas numerik, total 8 KB, tidak peka huruf besar/kecil | Maks 10 tag per blob, 768 byte per tag, peka huruf besar/kecil |
Pembaruan | Tidak diizinkan pada tingkat arsip, Set Blob Metadata menggantikan semua metadata yang ada, Set Blob Metadata mengubah waktu terakhir-blob yang dimodifikasi |
Diizinkan untuk semua tingkat penyimpanan, Set Blob Tags menggantikan semua tag yang ada, Set Blob Tags tidak mengubah waktu terakhir-blob yang dimodifikasi |
Penyimpanan | Disimpan dengan data blob | Sub sumber daya data blob |
Pengindeksan & Kueri | Harus menggunakan layanan terpisah seperti Azure Search | Kemampuan pengindeksan dan kueri bawaan Blob Storage |
Enkripsi | Dienkripsi saat tidak digunakan dengan kunci enkripsi yang sama yang digunakan untuk data blob | Dienkripsi saat tidak digunakan dengan kunci enkripsi yang dikelola Microsoft |
Harga | Ukuran metadata disertakan dalam biaya penyimpanan blob | Biaya tetap per tag indeks |
Respons header | Metadata ditampilkan sebagai header di Get Blob dan Get Blob Properties |
Jumlah tag yang ditampilkan Get Blob atau Get Blob Properties , tag hanya ditampilkan oleh Get Blob Tags dan List Blobs |
Izin | Izin baca atau tulis ke data blob meluas ke metadata | Izin tambahan diperlukan untuk membaca, memfilter, atau menulis tag indeks |
Penamaan | Nama metadata harus mematuhi aturan penamaan untuk pengidentifikasi C# | Tag indeks blob mendukung berbagai karakter alfanumerik yang lebih luas |
Harga
Anda ditagih untuk jumlah rata-rata bulanan tag indeks dalam akun penyimpanan. Tidak ada biaya untuk mesin pengindeksan. Permintaan untuk Mengatur Tag Blob, Mendapatkan Tag Blob, dan Menemukan Tag Blob dibebankan pada tingkat transaksi masing-masing saat ini. Perhatikan bahwa jumlah transaksi daftar yang digunakan saat melakukan transaksi Temukan Blob menurut Tag sama dengan jumlah klausul dalam permintaan. Misalnya, kueri (StoreID = 100) adalah satu transaksi daftar. Kueri (StoreID = 100 DAN SKU = 10010) adalah dua transaksi daftar. Lihat Harga Blob Blok untuk mempelajari selengkapnya.
Dukungan fitur
Dukungan untuk fitur ini mungkin terpengaruh dengan mengaktifkan Data Lake Storage Gen2, protokol Network File System (NFS) 3.0, atau SSH File Transfer Protocol (SFTP). Jika Anda telah mengaktifkan salah satu kemampuan ini, lihat Dukungan fitur Blob Storage di akun Azure Storage untuk menilai dukungan untuk fitur ini.
Kondisi dan masalah yang diketahui
Bagian ini menjelaskan masalah dan kondisi yang diketahui.
Hanya akun v2 tujuan umum dan akun blob blok premium yang didukung. Blob halaman premium, blob warisan, dan akun dengan namespace hierarkis yang diaktifkan tidak didukung. Akun v1 tujuan umum tidak akan didukung.
Mengunggah blob halaman dengan tag indeks tidak menahan tag. Atur tag setelah mengunggah blob halaman.
Jika Penerapan Versi {i>blob tag tag tag tag blob
Tidak ada API untuk menentukan apakah tag indeks diindeks.
Manajemen siklus hidup hanya mendukung pemeriksaan kesetaraan dengan kecocokan indeks blob.
Copy Blob
tidak menyalin tag indeks blob dari blob sumber ke blob tujuan baru. Anda dapat menentukan tag yang ingin Anda terapkan ke blob tujuan selama operasi salin.
Pertanyaan Umum (FAQ)
Lihat Tanya Jawab Umum tag indeks blob.
Langkah berikutnya
Untuk contoh cara menggunakan indeks blob, lihat Menggunakan indeks blob untuk mengelola dan menemukan data.
Pelajari tentang manajemen siklus hidup dan tetapkan aturan dengan pencocokan indeks blob.