İstek sınıflandırma ilkesi
Sınıflandırma işlemi, isteklerin özelliklerine göre gelen istekleri bir iş yükü grubuna atar. Küme düzeyi istek sınıflandırma ilkesinin bir parçası olarak kullanıcı tanımlı bir işlev yazarak sınıflandırma mantığını uyarlar.
Etkin bir istek sınıflandırma ilkesi olmadığında, tüm istekler iş yükü grubunda sınıflandırılır default
.
İlke nesnesi
İlke aşağıdaki özelliklere sahiptir:
IsEnabled
:bool
- İlkenin etkinleştirilip etkinleştirilmediğini gösterir.ClassificationFunction
:string
- İstekleri sınıflandırmak için kullanılacak işlevin gövdesi.
Sınıflandırma işlevi
Gelen isteklerin sınıflandırması, kullanıcı tanımlı bir işlevi temel alır. İşlevin sonuçları, istekleri mevcut iş yükü gruplarına sınıflandırmak için kullanılır.
Kullanıcı tanımlı işlev aşağıdaki özelliklere ve davranışlara sahiptir:
- İlkede olarak
true
ayarlanırsaIsEnabled
, kullanıcı tanımlı işlev her yeni istek için değerlendirilir. - Kullanıcı tanımlı işlev, isteğin tam ömrü için istek için iş yükü grubu bağlamı sağlar.
- İsteğe
default
aşağıdaki durumlarda iş yükü grubu bağlamı verilir:- Kullanıcı tanımlı işlev boş bir dize,
default
veya var olmayan iş yükü grubunun adını döndürür. - İşlev herhangi bir nedenle başarısız olur.
- Kullanıcı tanımlı işlev boş bir dize,
- Herhangi bir zamanda yalnızca bir kullanıcı tanımlı işlev belirlenebilir.
Önemli
İstek sınıflandırma işlevi, kümede çalışan her istek için değerlendirilir. Mümkün olduğunca hafif tutulması ve içinde ağır hesaplamalar içermemesi önerilir. Örneğin, yürütmesinin bir parçası olarak birçok normal ifadeyi değerlendirmek zorunda kalmaktan kaçının.
Gereksinimler ve sınırlamalar
Sınıflandırma işlevi:
İsteğin atanması için iş yükü grubunun adı olan türünde
string
tek bir skaler değer döndürmelidir.Başka bir varlığa (veritabanı, tablo veya işlev) başvurmamalıdır.
- Özellikle - aşağıdaki işlevleri ve işleçleri kullanmayabilir:
cluster()
database()
table()
external_table()
externaldata
- Özellikle - aşağıdaki işlevleri ve işleçleri kullanmayabilir:
Aşağıdaki özelliklere sahip, adlı
request_properties
bir özellik paketi olan özeldynamic
bir simgeye erişimi vardır:Ad Tür Açıklama Örnekler current_database
string
İstek veritabanının adı. "MyDatabase"
current_application
string
İsteği gönderen uygulamanın adı. "Kusto.Explorer"
,"KusWeb"
current_principal
string
İsteği gönderen asıl kimliğin tam adı. "aaduser=1793eb1f-4a18-418c-be4c-728e310c86d3;83af1c0e-8c6d-4f09-b249-c67a2e8fda65"
query_consistency
string
Sorgular için: sorgunun tutarlılığı - strongconsistency
veyaweakconsistency
. Bu özellik çağıran tarafından isteğin istek özelliklerinin bir parçası olarak ayarlanabilir: Ayarlanacak istemci isteği özelliği:queryconsistency
."strongconsistency"
,"weakconsistency"
request_description
string
İsteğin yazarının içerebileceği özel metin. Metin, çağıran tarafından isteğin İstemci isteği özelliklerinin bir parçası olarak ayarlanabilir: Ayarlanacak istemci isteği özelliği: request_description
."Some custom description"
; panolar için otomatik olarak doldurulur:"dashboard:{dashboard_id};version:{version};sourceId:{source_id};sourceType:{tile/parameter}"
request_text
string
İsteğin karartılmış metni. Sorgu metnine eklenen karartılmış dize değişmez değerleri, star ( *
) karakterlerin çoğuyla değiştirilir. Not: İstek metninin yalnızca başındaki 65.536 karakter değerlendirilir.".show version"
request_type
string
İsteğin türü - Command
veyaQuery
."Command"
,"Query"
Not
Deyimleri kullanarak set
yukarıda belirtilen istek seçeneklerinin ayarlanması, bunlar tarafından sınıflandırmaya izin vermez. İstemci isteği özellikleri nesnesinde seçeneklerin ayarlanması gerekir.
Örnekler
Tek bir iş yükü grubu
iff(request_properties.current_application == "Kusto.Explorer" and request_properties.request_type == "Query",
"Ad-hoc queries",
"default")
Birden çok iş yükü grubu
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")
Yönetim komutları
Kümenin istek sınıflandırma ilkesini yönetmek için aşağıdaki yönetim komutlarını kullanın.
Komut | Açıklama |
---|---|
.alter cluster request classification policy |
Kümenin istek sınıflandırma ilkesini değiştirir |
.alter-merge cluster request classification policy |
Kümenin istek sınıflandırma ilkesini etkinleştirir veya devre dışı bırakır |
.delete cluster request classification policy |
Kümenin istek sınıflandırma ilkesini siler |
.show cluster request classification policy |
Kümenin istek sınıflandırma ilkesini gösterir |
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin