Kebijakan klasifikasi permintaan
Proses klasifikasi menetapkan permintaan yang masuk ke grup beban kerja, berdasarkan karakteristik permintaan. Sesuaikan logika klasifikasi dengan menulis fungsi yang ditentukan pengguna, sebagai bagian dari kebijakan klasifikasi permintaan tingkat kluster.
Dengan tidak adanya kebijakan klasifikasi permintaan yang diaktifkan, semua permintaan diklasifikasikan ke dalam default
grup beban kerja.
Objek kebijakan
Kebijakan ini memiliki properti berikut:
IsEnabled
:bool
- Menunjukkan jika kebijakan diaktifkan atau tidak.ClassificationFunction
:string
- Isi fungsi yang digunakan untuk mengklasifikasikan permintaan.
Fungsi klasifikasi
Klasifikasi permintaan masuk didasarkan pada fungsi yang ditentukan pengguna. Hasil fungsi digunakan untuk mengklasifikasikan permintaan ke dalam grup beban kerja yang ada.
Fungsi yang ditentukan pengguna memiliki karakteristik dan perilaku berikut:
- Jika
IsEnabled
diaturtrue
dalam kebijakan, fungsi yang ditentukan pengguna dievaluasi untuk setiap permintaan baru. - Fungsi yang ditentukan pengguna memberikan konteks grup beban kerja untuk permintaan seumur hidup penuh permintaan.
- Permintaan diberikan konteks grup beban kerja
default
dalam situasi berikut:- Fungsi yang ditentukan pengguna mengembalikan string kosong,
default
, atau nama grup beban kerja yang tidak ada. - Fungsi gagal karena alasan apa pun.
- Fungsi yang ditentukan pengguna mengembalikan string kosong,
- Hanya satu fungsi yang ditentukan pengguna yang dapat ditunjuk pada waktu tertentu.
Penting
Fungsi klasifikasi permintaan akan dievaluasi untuk setiap permintaan yang berjalan pada kluster. Disarankan untuk tetap seringan mungkin, dan tidak termasuk perhitungan berat di dalamnya. Misalnya, hindari harus mengevaluasi banyak ekspresi reguler sebagai bagian dari eksekusinya.
Persyaratan dan batasan
Fungsi klasifikasi:
Harus mengembalikan satu nilai skalar tipe
string
, yaitu nama grup beban kerja untuk menetapkan permintaan.Tidak boleh mereferensikan entitas lain (database, tabel, atau fungsi).
- Secara khusus - mungkin tidak menggunakan fungsi dan operator berikut:
cluster()
database()
table()
external_table()
externaldata
- Secara khusus - mungkin tidak menggunakan fungsi dan operator berikut:
Memiliki akses ke simbol khusus
dynamic
, tas properti bernamarequest_properties
, dengan properti berikut:Nama Jenis Deskripsi Contoh current_database
string
Nama database permintaan. "MyDatabase"
current_application
string
Nama aplikasi yang mengirim permintaan. "Kusto.Explorer"
,"KusWeb"
current_principal
string
Nama yang sepenuhnya memenuhi syarat dari identitas prinsipal yang mengirim permintaan. "aaduser=1793eb1f-4a18-418c-be4c-728e310c86d3;83af1c0e-8c6d-4f09-b249-c67a2e8fda65"
query_consistency
string
Untuk kueri: konsistensi kueri - strongconsistency
atauweakconsistency
. Properti ini dapat diatur oleh pemanggil sebagai bagian dari properti permintaan permintaan: Properti permintaan klien untuk diatur adalah:queryconsistency
."strongconsistency"
,"weakconsistency"
request_description
string
Teks kustom yang dapat disertakan oleh pembuat permintaan. Teks dapat diatur oleh pemanggil sebagai bagian dari Properti permintaan klien permintaan: Properti permintaan klien yang akan ditetapkan adalah: request_description
."Some custom description"
; diisi secara otomatis untuk dasbor:"dashboard:{dashboard_id};version:{version};sourceId:{source_id};sourceType:{tile/parameter}"
request_text
string
Teks permintaan yang disamarkan. Harfiah karakter yang disamarkan yang termasuk dalam teks kueri digantikan oleh beberapa karakter bintang ( *
). Catatan: hanya 65.536 karakter jarak antar baris teks permintaan yang dievaluasi.".show version"
request_type
string
Jenis permintaan - Command
atauQuery
."Command"
,"Query"
Catatan
Mengatur opsi permintaan yang disebutkan di atas menggunakan set
pernyataan tidak memungkinkan klasifikasi oleh mereka. Opsi perlu diatur dalam objek properti permintaan klien.
Contoh
Grup beban kerja tunggal
iff(request_properties.current_application == "Kusto.Explorer" and request_properties.request_type == "Query",
"Ad-hoc queries",
"default")
Beberapa grup beban kerja
case(current_principal_is_member_of('aadgroup=somesecuritygroup@contoso.com'), "First workload group",
request_properties.current_database == "MyDatabase" and request_properties.current_principal has 'aadapp=', "Second workload group",
request_properties.current_application == "Kusto.Explorer" and request_properties.request_type == "Query", "Third workload group",
request_properties.current_application == "Kusto.Explorer", "Third workload group",
request_properties.current_application == "KustoQueryRunner", "Fourth workload group",
request_properties.request_description == "this is a test", "Fifth workload group",
hourofday(now()) between (17 .. 23), "Sixth workload group",
"default")
Perintah manajemen
Gunakan perintah manajemen berikut untuk mengelola kebijakan klasifikasi permintaan kluster.
Perintah | Deskripsi |
---|---|
.alter cluster request classification policy |
Mengubah kebijakan kluster |
.alter-merge cluster request classification policy |
Mengaktifkan atau menonaktifkan kebijakan klasifikasi permintaan kluster |
.delete cluster request classification policy |
Menghapus kebijakan klasifikasi permintaan kluster |
.show cluster request classification policy |
Menunjukkan kebijakan klasifikasi permintaan kluster |
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk