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.
Tugas penyimpanan berisi serangkaian kondisi dan operasi. Artikel ini menjelaskan format JSON dari sebuah kondisi. Memahami bahwa format penting jika Anda berencana untuk membuat tugas penyimpanan dengan menggunakan alat selain portal Azure (Misalnya: Azure PowerShell, atau Azure CLI). Artikel ini juga mencantumkan properti dan operator yang dapat Anda gunakan untuk membangun klausul dari suatu kondisi.
Artikel ini berfokus pada kondisi. Untuk mempelajari selengkapnya tentang operasi, lihat operasi tugas penyimpanan.
Format kondisi
Kondisi kumpulan satu atau beberapa klausa. Setiap klausa berisi properti, nilai, dan operator. Saat tugas penyimpanan berjalan, ia menggunakan operator untuk membandingkan properti dengan nilai untuk menentukan apakah klausa terpenuhi oleh objek target. Dalam klausa, operator selalu muncul terlebih dahulu diikuti oleh properti , lalu nilainya. Gambar berikut menunjukkan bagaimana setiap elemen diposisikan dalam ekspresi.
Klausa berikut ini hanya memungkinkan operasi pada dokumen Microsoft Word. Klausa ini menargetkan semua dokumen yang diakhir dengan ekstensi .docxfile . Oleh karena itu, operator adalah endsWith, propertinya adalah Name, dan nilainya adalah .docx.
{
"condition": "[[[endsWith(Name, '.docx')]]"
}
Anda juga dapat menerapkan operator not sebelum operator dalam klausa kondisi. Operator not adalah operator khusus yang dapat Anda posisikan sebelum operator mana pun untuk memberikan hasil klausul yang berlawanan. Klausa berikut memungkinkan operasi pada blob apa pun yang bukan dokumen Microsoft Word.
{
"condition": "[[not(endsWith(Name, '*.docx'))]]"
}
Untuk daftar lengkap nama operator dan properti, lihat bagian Operator yang didukung dan Properti yang didukung di artikel ini.
Beberapa klausa dalam kondisi
Kondisi dapat berisi beberapa klausa yang dipisahkan oleh koma bersama dengan string and atau or. String and menargetkan objek yang memenuhi kriteria dalam semua klausul dalam kondisi sementara or menargetkan objek yang memenuhi kriteria dalam salah satu klausa dalam kondisi. Gambar berikut menunjukkan posisi and string dan or bersama dengan dua klausa.
JSON berikut menunjukkan kondisi yang berisi dua klausa. Karena string and digunakan dalam ekspresi ini, kedua klausul harus dievaluasi menjadi true sebelum operasi dilakukan pada objek.
{
"condition": "[[and(endsWith(Name, '.docx'), equals(Tags.Value[readyForLegalHold], 'Yes'))]]"
}
Grup kondisi
Klausa yang dikelompokkan beroperasi sebagai satu unit terpisah dari klausul lainnya. Klausa pengelompokan mirip dengan menempatkan tanda kurung di sekitar persamaan matematika atau ekspresi logika. String and atau or untuk klausa pertama dalam grup berlaku untuk seluruh grup.
Gambar berikut menunjukkan dua klausa yang dikelompokkan bersama-sama.
Kondisi berikut ini hanya memungkinkan operasi pada dokumen Microsoft Word tempat readyForLegalHold tag dokumen diatur ke nilai Yes. Operasi juga dilakukan pada objek yang lebih besar dari 100 byte bahkan jika dua kondisi lainnya tidak benar.
{
"condition": "[[or(and(endsWith(Name, '*.docx'), equals(Tags.Value[readyForLegalHold], 'Yes')), greater(Content-Length, '100'))]]"
}
Anda dapat menerapkan operator not ke grup untuk menguji hasil yang berlawanan dari sekelompok klausa. Kondisi berikut hanya memungkinkan operasi pada blob yang bukan dokumen Microsoft Word, di mana tag readyForLegalHold pada blob ditetapkan ke nilai Yes. Operasi juga dilakukan pada objek yang lebih besar dari 100 byte bahkan jika dua kondisi lainnya tidak benar.
{
"condition": "[[or(not(and(endsWith(Name, '*.docx'), equals(Tags.Value[readyForLegalHold], 'Yes'))), greater(Content-Length, '100'))]]"
}
Tampilan kode di portal Azure
Editor visual yang tersedia di portal Azure, dapat menghasilkan JSON kondisi untuk Anda. Anda dapat menentukan kondisi Anda dengan menggunakan editor, lalu mendapatkan ekspresi JSON dengan membuka tab Kode . Pendekatan ini dapat berguna saat membuat serangkaian kondisi yang rumit karena ekspresi JSON dapat menjadi besar, tidak beraturan, dan sulit dibuat dengan tangan. Gambar berikut menunjukkan tab Kode di editor visual.
Untuk mempelajari selengkapnya tentang editor visual, lihat Menentukan kondisi dan operasi tugas penyimpanan.
Pratinjau kondisi
Anda dapat melihat daftar blob yang akan terpengaruh oleh kondisi yang telah Anda tentukan. Dengan demikian, Anda dapat menemukan masalah dan mengoptimalkan kondisi sebelum menerapkannya ke data produksi. Pratinjau tidak membuat perubahan pada objek di akun penyimpanan target sehingga aman diterapkan untuk menguji data produksi.
Meskipun pratinjau kondisi tersedia di lingkungan PowerShell, Azure CLI, dan SDK, cara term mudah untuk mempratinjau efek kondisi adalah dengan menggunakan jendela Kondisi Pratinjau di portal Microsoft Azure. Anda dapat membuka jendela ini saat Anda menentukan kondisi dan menetapkan tugas penyimpanan.
Untuk mempratinjau efek kondisi, Anda harus menentukan langganan target, akun penyimpanan, dan kontainer. Karena hanya dapat muncul hingga 5.000 blob, Anda juga dapat menentukan awalan untuk mempersempit daftar.
Nota
Anda tidak dapat menggunakan karakter pengganti dalam awalan blob.
Gambar berikut menunjukkan contoh hasil pratinjau di portal Microsoft Azure.
Hasil pratinjau muncul dalam tabel yang memperlihatkan objek yang memenuhi kondisi bersama dengan objek yang tidak memenuhi kondisi. Anda bisa mengurutkan menurut bidang yang muncul dalam tabel.
Jika kondisi mengacu pada properti yang tidak ada di akun penyimpanan target, kesalahan akan muncul. Misalnya, tag indeks blob tidak tersedia untuk akun yang memiliki namespace hierarkis. Jika klausa dalam kondisi mengacu pada tag indeks blob, kesalahan validasi akan muncul.
Properti yang didukung
Tabel berikut ini memperlihatkan properti yang bisa Anda gunakan untuk menyusun setiap klausa kondisi. Klausa dapat berisi properti string, boolean, numerik, dan tanggal dan waktu.
| string | Tanggal dan waktu3 | Numerik | Boolean |
|---|---|---|---|
| AccessTier1 | AccessTierChangeTime | Panjang-Konten | Dihapus |
| BlobType2 | Waktu Pembuatan | Jumlah Tag | ApakahVersiSaatIni |
| Kontainer.Metadata.Nilai[Nama] | WaktuDihapus | ||
| Container.Nama | WaktuAksesTerakhir | ||
| Metadata.Value[Name] | Terakhir Diubah | ||
| Nama | |||
| Tags.Value[Name] |
1 Nilai yang diizinkan adalah Hot, Cool, Cold atau Archive.
2 Nilai yang diizinkan adalah BlockBlob, PageBlob, atau AppendBlob
3 Dapat diatur ke waktu tertentu atau ke nilai metadata yang diperoleh secara dinamis dari objek. Lihat Mengacu pada nilai dari metadata objek.
Operator yang didukung
Tabel berikut ini memperlihatkan operator yang bisa Anda gunakan dalam klausul untuk mengevaluasi nilai setiap jenis properti.
| string | Tanggal dan waktu | Numerik | Boolean |
|---|---|---|---|
| mengandung | sama dengan | sama dengan | sama dengan |
| kosong | lebih besar | lebih besar | |
| berakhir dengan | lebihbesarAtauSetara | lebihbesarAtauSetara | |
| sama dengan | kurang | kurang | |
| cocokkan4 | kurang atau sama dengan | kurang atau sama dengan | |
| dimulaiDengan |
4 Operator matches tidak didukung untuk properti Metadata.Value[Name] dan Tags.Value[Name].
Operator not adalah operator khusus yang dapat Anda posisikan sebelum salah satu operator yang muncul dalam tabel ini untuk memberikan hasil yang berlawanan dari klausa kondisional, juga disebut hasil negatif.