Begärandeklassificeringsprincip
Gäller för: ✅Microsoft Fabric✅Azure Data Explorer
Klassificeringsprocessen tilldelar inkommande begäranden till en arbetsbelastningsgrupp baserat på egenskaperna för begäranden. Skräddarsy klassificeringslogik genom att skriva en användardefinierad funktion som en del av en klassificeringsprincip för begäranden på klusternivå.
Klassificeringsprocessen tilldelar inkommande begäranden till en arbetsbelastningsgrupp baserat på egenskaperna för begäranden. Skräddarsy klassificeringslogik genom att skriva en användardefinierad funktion som en del av en klassificeringsprincip på Eventhouse-nivå för begäranden.
I avsaknad av en aktiverad klassificeringsprincip för begäranden klassificeras alla begäranden i default
arbetsbelastningsgrupp.
Principobjekt
Principen har följande egenskaper:
-
IsEnabled
:bool
– Anger om principen är aktiverad eller inte. -
ClassificationFunction
:string
– brödtexten i funktionen som ska användas för att klassificera begäranden.
Klassificeringsfunktion
Klassificeringen av inkommande begäranden baseras på en användardefinierad funktion. Resultatet av funktionen används för att klassificera begäranden i befintliga arbetsbelastningsgrupper.
Den användardefinierade funktionen har följande egenskaper och beteenden:
- Om
IsEnabled
är inställt påtrue
i principen utvärderas den användardefinierade funktionen för varje ny begäran. - Den användardefinierade funktionen ger arbetsbelastningsgruppkontext för begäran under hela begärans livslängd.
- Begäran ges
default
arbetsbelastningsgruppkontext i följande situationer:- Den användardefinierade funktionen returnerar en tom sträng,
default
eller namnet på den obefintliga arbetsbelastningsgruppen. - Funktionen misslyckas av någon anledning.
- Den användardefinierade funktionen returnerar en tom sträng,
- Endast en användardefinierad funktion kan utses vid en viss tidpunkt.
Viktig
Klassificeringsfunktionen för begäran utvärderas för varje begäran som körs i klustret. Vi rekommenderar att du håller den så lätt som möjligt och inte inkluderar tunga beräkningar i den. Undvik till exempel att behöva utvärdera många reguljära uttryck som en del av körningen.
Viktig
Klassificeringsfunktionen för begäran utvärderas för varje begäran som körs på Eventhouse. Vi rekommenderar att du håller den så lätt som möjligt och inte inkluderar tunga beräkningar i den. Undvik till exempel att behöva utvärdera många reguljära uttryck som en del av körningen.
Krav och begränsningar
En klassificeringsfunktion:
- Måste returnera ett enda skalärt värde av typen
string
. Det är namnet på den arbetsbelastningsgrupp som begäran ska tilldelas till. - Får inte referera till någon annan entitet (databas, tabell eller funktion).
- Mer specifikt – det kanske inte använder följande funktioner och operatorer:
cluster()
database()
table()
external_table()
externaldata
- Mer specifikt – det kanske inte använder följande funktioner och operatorer:
- Har åtkomst till en särskild
dynamic
symbol, en egenskapsväska med namnetrequest_properties
, med följande egenskaper:
Namn | Typ | Beskrivning | Exempel |
---|---|---|---|
current_database |
string |
Namnet på begärandedatabasen. | "MyDatabase" |
current_application |
string |
Namnet på programmet som skickade begäran. |
"Kusto.Explorer" , "KusWeb" |
current_principal |
string |
Det fullständigt kvalificerade namnet på den huvudidentitet som skickade begäran. | "aaduser=1793eb1f-4a18-418c-be4c-728e310c86d3;83af1c0e-8c6d-4f09-b249-c67a2e8fda65" |
query_consistency |
string |
För frågor: konsekvensen i frågan – strongconsistency eller weakconsistency . Den här egenskapen anges av anroparen som en del av begärans egenskaper för begäran: Egenskapen för klientbegäran som ska anges är: queryconsistency . |
"strongconsistency" , "weakconsistency" |
request_description |
string |
Anpassad text som frågeförfattaren kan inkludera. Texten anges av anroparen som en del av begärans egenskaper för klientbegäran: Egenskapen för klientbegäran som ska anges är: request_description . |
"Some custom description" ; fylls i automatiskt för instrumentpaneler: "dashboard:{dashboard_id};version:{version};sourceId:{source_id};sourceType:{tile/parameter}" |
request_text |
string |
Den fördunklade texten i begäran. Fördunklade strängliteraler som ingår i frågetexten ersätts av flera stjärntecken (* ).
Obs! endast de inledande 65 536 tecknen i begärandetexten utvärderas. |
".show version" |
request_type |
string |
Typen av begäran – Command eller Query . |
"Command" , "Query" |
Not
Om du anger alternativ för begäran med hjälp av set
-instruktioner tillåts inte klassificering av dem. Alternativen måste anges i objektet för egenskaper för klientbegäran.
Exempel
En enskild arbetsbelastningsgrupp
iff(request_properties.current_application == "Kusto.Explorer" and request_properties.request_type == "Query",
"Ad-hoc queries",
"default")
Flera arbetsbelastningsgrupper
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")
Hanteringskommandon
Använd följande hanteringskommandon för att hantera ett klusters klassificeringsprincip för begäranden.
Befallning | Beskrivning |
---|---|
.alter cluster request classification policy |
Ändrar klustrets policy för klassificering av begäranden |
.alter-merge cluster request classification policy |
Aktiverar eller inaktiverar ett klusters klassificeringsprincip för begäranden |
.delete cluster request classification policy |
Tar bort klustrets policy för klassificering av begäranden |
.show cluster request classification policy |
Visar klustrets policy för klassificering av begäranden |
Använd följande hanteringskommandon för att hantera en Händelsehus klassificeringsprincip för begäranden.
Befallning | Beskrivning |
---|---|
.alter cluster request classification policy |
Ändrar Eventhouses policy för klassificering av begäranden |
.alter-merge cluster request classification policy |
Aktiverar eller inaktiverar en Händelsehus policy för klassificering av begäranden |
.delete cluster request classification policy |
Tar bort Eventhouses policy för klassificering av begäranden |
.show cluster request classification policy |
Visar Eventhouses policy för klassificering av begäranden |