Sdílet prostřednictvím


Zásady klasifikace požadavků

Platí pro: ✅Microsoft FabricAzure Data Explorer

Proces klasifikace přiřazuje příchozí požadavky skupině úloh na základě charakteristik požadavků. Logiku klasifikace můžete přizpůsobit zápisem uživatelem definované funkce jako součást zásad klasifikace požadavků na úrovni clusteru.

Proces klasifikace přiřazuje příchozí požadavky skupině úloh na základě charakteristik požadavků. Přizpůsobte logiku klasifikace zápisem uživatelem definované funkce jako součást zásad klasifikace požadavků na úrovni eventhouse.

Bez povolené zásady klasifikace požadavků jsou všechny požadavky klasifikovány do skupiny úloh default.

Objekt zásad

Zásady mají 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 stávajících skupin úloh.

Uživatelem definovaná funkce má následující charakteristiky a chování:

  • Pokud IsEnabled v zásadách nastavíte na true, vyhodnotí se uživatelsky definovaná funkce pro každý nový požadavek.
  • Uživatelem definovaná funkce poskytuje skupině úloh kontext pro požadavek po celou dobu životnosti požadavku.
  • Žádost má kontext skupiny úloh default v následujících situacích:
    • Uživatelem definovaná funkce vrátí prázdný řetězec, defaultnebo název neexistující skupiny úloh.
    • Funkce z jakéhokoli důvodu selže.
  • V daném okamžiku lze určit pouze jednu uživatelem definovanou funkci.

Důležitý

Funkce klasifikace požadavků se vyhodnocuje pro každý požadavek, který běží v clusteru. Doporučuje se, aby byla co nejlehčí a nezahrnula do ní náročné výpočty. V rámci provádění se například nemusíte vyhodnocovat mnoho regulárních výrazů.

Důležitý

Funkce klasifikace požadavků se vyhodnocuje pro každý požadavek, který běží v Eventhouse. Doporučuje se, aby byla co nejlehčí a nezahrnula do ní náročné výpočty. V rámci provádění se například nemusíte 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á žádost 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
  • Má přístup ke speciálnímu symbolu dynamic, který má tašku vlastností s názvem request_propertiess následujícími vlastnostmi:
Jméno Typ Popis Příklady
current_database string Název databáze požadavku. "MyDatabase"
current_application string Název aplikace, která odeslala požadavek. "Kusto.Explorer", "KusWeb"
current_principal string Plně kvalifikovaný název identity objektu zabezpečení, která odeslala požadavek. "aaduser=1793eb1f-4a18-418c-be4c-728e310c86d3;83af1c0e-8c6d-4f09-b249-c67a2e8fda65"
query_consistency string Dotazy: konzistence dotazu – strongconsistency nebo weakconsistency. Tato vlastnost je nastavena volajícím jako součást vlastností požadavku požadavku: Vlastnost požadavku klienta, která se má nastavit, je: queryconsistency. "strongconsistency", "weakconsistency"
request_description string Vlastní text, který může obsahovat autor požadavku. Text je nastaven volajícím jako součást vlastností požadavku klienta klienta: Vlastnost požadavku klienta, která se má nastavit, je: request_description. "Some custom description"; automaticky vyplněno pro ří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 se nahradí více znaky hvězdičky (*). Poznámka: se vyhodnocují pouze úvodní 65 536 znaků textu požadavku. ".show version"
request_type string Typ požadavku – Command nebo Query. "Command", "Query"

Poznámka

Nastavení možností žádosti pomocí příkazů set 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 Alters cluster's request classification policy
.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.

Ke správě zásad klasifikace požadavků v Eventhouse použijte následující příkazy pro správu.

Příkaz Popis
.alter cluster request classification policy Alters Eventhouse's request classification policy
.alter-merge cluster request classification policy Povolí nebo zakáže zásady klasifikace požadavků v Eventhouse.
.delete cluster request classification policy Odstraní zásadu klasifikace požadavků eventhouse.
.show cluster request classification policy Zobrazuje zásadu klasifikace požadavků v Eventhouse.