Dela via


Begärandeklassificeringsprincip

Gäller för: ✅Microsoft FabricAzure 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, defaulteller namnet på den obefintliga arbetsbelastningsgruppen.
    • Funktionen misslyckas av någon anledning.
  • 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
  • Har åtkomst till en särskild dynamic symbol, en egenskapsväska med namnet request_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