Anforderungsklassifizierungsrichtlinie
Gilt für: ✅Microsoft Fabric✅Azure Data Explorer
Der Klassifizierungsprozess weist eingehende Anforderungen einer Workloadgruppe basierend auf den Merkmalen der Anforderungen zu. Passen Sie die Klassifizierungslogik an, indem Sie eine benutzerdefinierte Funktion als Teil einer Anforderungsklassifizierungsrichtlinie auf Clusterebene schreiben.
Der Klassifizierungsprozess weist eingehende Anforderungen einer Workloadgruppe basierend auf den Merkmalen der Anforderungen zu. Passen Sie die Klassifizierungslogik an, indem Sie eine benutzerdefinierte Funktion als Teil einer Anforderungsklassifizierungsrichtlinie auf Eventhouse-Ebene schreiben.
Ohne eine aktivierte Anforderungsklassifizierungsrichtlinie werden alle Anforderungen in die default
Workloadgruppe eingeteilt.
Policy-Objekt
Die Richtlinie weist die folgenden Eigenschaften auf:
-
IsEnabled
:bool
– Gibt an, ob die Richtlinie aktiviert ist oder nicht. -
ClassificationFunction
:string
- Der Textkörper der Funktion, die zum Klassifizieren von Anforderungen verwendet werden soll.
Klassifizierungsfunktion
Die Klassifizierung eingehender Anforderungen basiert auf einer benutzerdefinierten Funktion. Die Ergebnisse der Funktion werden verwendet, um Anforderungen in vorhandene Workloadgruppen zu klassifizieren.
Die benutzerdefinierte Funktion weist die folgenden Merkmale und Verhaltensweisen auf:
- Wenn
IsEnabled
in der Richtlinie auftrue
festgelegt ist, wird die benutzerdefinierte Funktion für jede neue Anforderung ausgewertet. - Die benutzerdefinierte Funktion bietet Workloadgruppenkontext für die Anforderung für die vollständige Lebensdauer der Anforderung.
- Die Anforderung erhält in den folgenden Situationen den
default
Workloadgruppenkontext:- Die benutzerdefinierte Funktion gibt eine leere Zeichenfolge,
default
oder den Namen der nicht vorhandenen Workloadgruppe zurück. - Die Funktion schlägt aus irgendeinem Grund fehl.
- Die benutzerdefinierte Funktion gibt eine leere Zeichenfolge,
- Es kann jeweils nur eine benutzerdefinierte Funktion festgelegt werden.
Wichtig
Die Anforderungsklassifizierungsfunktion wird für jede Anforderung ausgewertet, die auf dem Cluster ausgeführt wird. Es wird empfohlen, es so leicht wie möglich zu halten und keine schweren Berechnungen darin einzuschließen. Vermeiden Sie beispielsweise, viele reguläre Ausdrücke als Teil der Ausführung auszuwerten.
Wichtig
Die Anforderungsklassifizierungsfunktion wird für jede Anforderung ausgewertet, die im Eventhouse ausgeführt wird. Es wird empfohlen, es so leicht wie möglich zu halten und keine schweren Berechnungen darin einzuschließen. Vermeiden Sie beispielsweise, viele reguläre Ausdrücke als Teil der Ausführung auszuwerten.
Anforderungen und Einschränkungen
Eine Klassifizierungsfunktion:
- Muss einen einzelnen skalaren Wert vom Typ
string
zurückgeben. Dies ist der Name der Workloadgruppe, der die Anforderung zugewiesen werden soll. - Darf nicht auf eine andere Entität (Datenbank, Tabelle oder Funktion) verweisen.
- Insbesondere - sie verwendet möglicherweise nicht die folgenden Funktionen und Operatoren:
cluster()
database()
table()
external_table()
externaldata
- Insbesondere - sie verwendet möglicherweise nicht die folgenden Funktionen und Operatoren:
- Hat Zugriff auf ein spezielles
dynamic
-Symbol, einen Eigenschaftenbehälter mit dem Namenrequest_properties
, mit den folgenden Eigenschaften:
Name | Art | Beschreibung | Beispiele |
---|---|---|---|
current_database |
string |
Der Name der Anforderungsdatenbank. | "MyDatabase" |
current_application |
string |
Der Name der Anwendung, die die Anforderung gesendet hat. |
"Kusto.Explorer" , "KusWeb" |
current_principal |
string |
Der vollqualifizierte Name der Prinzipalidentität, die die Anforderung gesendet hat. | "aaduser=1793eb1f-4a18-418c-be4c-728e310c86d3;83af1c0e-8c6d-4f09-b249-c67a2e8fda65" |
query_consistency |
string |
Für Abfragen: die Konsistenz der Abfrage - strongconsistency oder weakconsistency . Diese Eigenschaft wird vom Aufrufer als Teil der Anforderungseigenschaften der Anforderungfestgelegt: Die festzulegende Clientanforderungseigenschaft lautet: queryconsistency . |
"strongconsistency" , "weakconsistency" |
request_description |
string |
Benutzerdefinierter Text, den der Autor der Anforderung enthalten kann. Der Text wird vom Aufrufer als Teil der Clientanforderungseigenschaften der Anforderungfestgelegt: Die festzulegende Clientanforderungseigenschaft lautet: request_description . |
"Some custom description" ; automatisch für Dashboards aufgefüllt: "dashboard:{dashboard_id};version:{version};sourceId:{source_id};sourceType:{tile/parameter}" |
request_text |
string |
Der verschleierte Text der Anforderung. Verschleierte Zeichenfolgenliterale, die im Abfragetext enthalten sind, werden durch mehrere Sternzeichen (* ) ersetzt.
Hinweis: werden nur die führenden 65.536 Zeichen des Anforderungstexts ausgewertet. |
".show version" |
request_type |
string |
Der Typ der Anforderung - Command oder Query . |
"Command" , "Query" |
Anmerkung
Das Festlegen der Anforderungsoptionen mithilfe von set
Anweisungen lässt keine Klassifizierung durch sie zu. Die Optionen müssen im Clientanforderungseigenschaftenobjekt festgelegt werden.
Beispiele
Eine einzelne Workloadgruppe
iff(request_properties.current_application == "Kusto.Explorer" and request_properties.request_type == "Query",
"Ad-hoc queries",
"default")
Mehrere Workloadgruppen
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")
Verwaltungsbefehle
Verwenden Sie die folgenden Verwaltungsbefehle, um die Anforderungsklassifizierungsrichtlinie eines Clusters zu verwalten.
Befehl | Beschreibung |
---|---|
.alter cluster request classification policy |
Ändert die Anforderungsklassifizierungsrichtlinie des Clusters |
.alter-merge cluster request classification policy |
Aktiviert oder deaktiviert die Anforderungsklassifizierungsrichtlinie eines Clusters |
.delete cluster request classification policy |
Löscht die Anforderungsklassifizierungsrichtlinie des Clusters. |
.show cluster request classification policy |
Zeigt die Anforderungsklassifizierungsrichtlinie des Clusters an. |
Verwenden Sie die folgenden Verwaltungsbefehle, um die Anforderungsklassifizierungsrichtlinie eines Eventhouse zu verwalten.
Befehl | Beschreibung |
---|---|
.alter cluster request classification policy |
Alter Eventhouses Anforderungsklassifizierungsrichtlinie |
.alter-merge cluster request classification policy |
Aktiviert oder deaktiviert die Anforderungsklassifizierungsrichtlinie eines Eventhouses |
.delete cluster request classification policy |
Löscht die Anforderungsklassifizierungsrichtlinie von Eventhouse. |
.show cluster request classification policy |
Zeigt die Anforderungsklassifizierungsrichtlinie des Eventhouse an. |