Zásady klasifikace žádostí
Proces klasifikace přiřadí příchozí požadavky skupině úloh na základě charakteristik požadavků. Přizpůsobte logiku klasifikace napsáním uživatelem definované funkce v rámci zásad klasifikace požadavků na úrovni clusteru.
Při absenci povolených zásad klasifikace požadavků se všechny požadavky klasifikují do default
skupiny úloh.
Objekt zásad
Zásada má následující vlastnosti:
IsEnabled
:bool
– Označuje, jestli je zásada povolená, nebo ne.ClassificationFunction
:string
– Tělo funkce, která se má použít ke klasifikaci požadavků.
Klasifikační funkce
Klasifikace příchozích požadavků je založená na uživatelem definované funkci. Výsledky funkce slouží ke klasifikaci požadavků do existujících skupin úloh.
Uživatelem definovaná funkce má následující charakteristiky a chování:
- Pokud
IsEnabled
je v zásadách nastavená natrue
, vyhodnocuje se uživatelsky definovaná funkce pro každý nový požadavek. - Uživatelem definovaná funkce poskytuje kontext skupiny úloh pro požadavek po celou dobu životnosti požadavku.
- Požadavek dostane
default
kontext skupiny úloh v následujících situacích:- Uživatelem definovaná funkce vrátí prázdný řetězec
default
, nebo název neexistující skupiny úloh. - Funkce z jakéhokoli důvodu selže.
- Uživatelem definovaná funkce vrátí prázdný řetězec
- V daném okamžiku lze určit pouze jednu uživatelem definovanou funkci.
Důležité
Funkce klasifikace požadavků se vyhodnotí pro každý požadavek, který běží v clusteru. Doporučuje se udržovat ho co nejlehčí a nezahrnovat do něj těžké výpočty. Například nemusíte při provádění vyhodnocovat mnoho regulárních výrazů.
Požadavky a omezení
Klasifikační funkce:
Musí vrátit jednu skalární hodnotu typu
string
, to je název skupiny úloh, ke které se má požadavek přiřadit.Nesmí odkazovat na žádnou jinou entitu (databázi, tabulku nebo funkci).
- Konkrétně – nemusí používat následující funkce a operátory:
cluster()
database()
table()
external_table()
externaldata
- Konkrétně – nemusí používat následující funkce a operátory:
Má přístup ke speciálnímu
dynamic
symbolu, kontejneru vlastností s názvemrequest_properties
, s následujícími vlastnostmi:Název Typ Popis Příklady current_database
string
Název databáze požadavků. "MyDatabase"
current_application
string
Název aplikace, která žádost odeslala. "Kusto.Explorer"
,"KusWeb"
current_principal
string
Plně kvalifikovaný název identity objektu zabezpečení, která požadavek odeslala. "aaduser=1793eb1f-4a18-418c-be4c-728e310c86d3;83af1c0e-8c6d-4f09-b249-c67a2e8fda65"
query_consistency
string
Pro dotazy: konzistence dotazu – strongconsistency
neboweakconsistency
. Tuto vlastnost může volající nastavit jako součást vlastností požadavku: Vlastnost požadavku klienta, která se má nastavit, je:queryconsistency
."strongconsistency"
,"weakconsistency"
request_description
string
Vlastní text, který může zahrnout autor požadavku. Text může volající nastavit jako součást vlastností požadavku Klienta: Vlastnost požadavku klienta, která se má nastavit, je: request_description
."Some custom description"
; automaticky vyplněné řídicí panely:"dashboard:{dashboard_id};version:{version};sourceId:{source_id};sourceType:{tile/parameter}"
request_text
string
Obfuskovaný text požadavku. Obfuskované řetězcové literály zahrnuté v textu dotazu jsou nahrazeny několika star ( *
). Poznámka: Vyhodnocuje se pouze úvodních 65 536 znaků textu požadavku.".show version"
request_type
string
Typ požadavku – Command
neboQuery
."Command"
,"Query"
Poznámka
Nastavení výše uvedených možností požadavků pomocí set
příkazů neumožňuje klasifikaci podle nich. Možnosti je potřeba nastavit v objektu vlastností požadavku klienta.
Příklady
Jedna skupina úloh
iff(request_properties.current_application == "Kusto.Explorer" and request_properties.request_type == "Query",
"Ad-hoc queries",
"default")
Více skupin úloh
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")
Příkazy pro správu
Ke správě zásad klasifikace požadavků clusteru použijte následující příkazy pro správu.
Příkaz | Popis |
---|---|
.alter cluster request classification policy |
Změní zásady klasifikace požadavků clusteru. |
.alter-merge cluster request classification policy |
Povolí nebo zakáže zásady klasifikace požadavků clusteru. |
.delete cluster request classification policy |
Odstraní zásadu klasifikace požadavků clusteru. |
.show cluster request classification policy |
Zobrazuje zásady klasifikace požadavků clusteru. |
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro