Begärandeklassificeringsprincip
Klassificeringsprocessen tilldelar inkommande begäranden till en arbetsbelastningsgrupp baserat på egenskaperna för begäranden. Anpassa klassificeringslogik genom att skriva en användardefinierad funktion som en del av en klassificeringsprincip för begäranden på klusternivå.
Om det inte finns någon aktiverad klassificeringsprincip för begäranden klassificeras alla begäranden i default
arbetsbelastningsgruppen.
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
anges tilltrue
i principen utvärderas den användardefinierade funktionen för varje ny begäran. - Den användardefinierade funktionen ger arbetsbelastningsgruppkontext för begäran för hela begärans livslängd.
- Begäran ges kontexten för
default
arbetsbelastningsgruppen i följande situationer:- Den användardefinierade funktionen returnerar en tom sträng,
default
eller namnet på en obefintlig arbetsbelastningsgrupp. - Funktionen misslyckas av någon anledning.
- Den användardefinierade funktionen returnerar en tom sträng,
- Endast en användardefinierad funktion kan anges när som helst.
Viktigt
Funktionen för klassificering av 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.
Krav och begränsningar
En klassificeringsfunktion:
Måste returnera ett enskilt skalärt värde av typen
string
, som ä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 – den kanske inte använder följande funktioner och operatorer:
cluster()
database()
table()
external_table()
externaldata
- Mer specifikt – den kanske inte använder följande funktioner och operatorer:
Har åtkomst till en särskild
dynamic
symbol, en egenskapsuppsättning 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: frågans konsekvens – strongconsistency
ellerweakconsistency
. Den här egenskapen kan anges av anroparen som en del av begärans egenskaper: Egenskapen för klientbegäran som ska anges är:queryconsistency
."strongconsistency"
,"weakconsistency"
request_description
string
Anpassad text som frågeförfattaren kan inkludera. Texten kan 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 dolda texten i begäran. Dolda strängliteraler som ingår i frågetexten ersätts av flera star ( *
) tecken. Obs! Endast de inledande 65 536 tecknen i begärandetexten utvärderas.".show version"
request_type
string
Typen av begäran – Command
ellerQuery
."Command"
,"Query"
Anteckning
Om du anger ovanstående alternativ för begäran med hjälp set
av instruktioner tillåts inte klassificering av dem. Alternativen måste anges i objektet 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")
Kommandon för hantering
Använd följande hanteringskommandon för att hantera ett klusters klassificeringsprincip för begäranden.
Kommando | 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 policy för klassificering av 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 |
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för