Übersicht über die Kusto-Abfragesprache (KQL)

Kusto Query Language ist ein leistungsstarkes Tool, mit dem Sie Ihre Daten untersuchen und Muster ermitteln, Anomalien und Ausreißer identifizieren, statistische Modellierungen erstellen und vieles mehr. Die Abfrage verwendet Schemaentitäten, die in einer SQL-ähnlichen Hierarchie organisiert sind: Datenbanken, Tabellen und Spalten.

Was ist eine Kusto-Abfrage?

Eine Kusto-Abfrage ist eine schreibgeschützte Anforderung zur Verarbeitung von Daten und zur Rückgabe der Ergebnisse. Die Anforderung wird als Klartext angegeben und verwendet ein Datenflussmodell, das einfach zu lesen, zu erstellen und zu automatisieren ist. Kusto-Abfragen bestehen aus einer oder mehreren Abfrageanweisungen.

Was ist eine Abfrageanweisung?

Es gibt drei Arten von Benutzerabfrageanweisungen:

Alle Abfrageanweisungen werden durch ein ; (Semikolon) getrennt und wirken sich nur auf die abfragehand aus.

Hinweis

Informationen zu Anwendungsabfrageanweisungen finden Sie unter Anwendungsabfrageanweisungen.

Die gängigste Art von Abfrage-Anweisung ist eine tabellarische Ausdrucksanweisung. Dies bedeutet, dass sowohl die Eingabe als auch die Ausgabe aus Tabellen oder tabellarischen Datasets bestehen. Tabellarische Anweisungen enthalten null oder mehr Operatoren, von denen jeder ausgehend von einer tabellarischen Eingabe eine tabellarische Ausgabe zurückgibt. Operatorsequenzen werden mit | (Pipe) gebildet. Daten werden per Pipe von einem Operator an den nächsten übergeben. Die Daten werden bei jedem Schritt gefiltert oder bearbeitet und dann in den folgenden Schritt eingespeist.

Dies ist wie ein Trichter, wobei der Ausgangspunkt eine vollständige Datentabelle ist. Jedes Mal, wenn die Daten einen anderen Operator durchlaufen, werden sie gefiltert, neu angeordnet oder zusammengefasst. Da die Weitergabe von Informationen von einem Operator an einen anderen sequenziell ist, ist die Reihenfolge des Abfrageoperators wichtig und kann sich sowohl auf die Ergebnisse als auch auf die Leistung auswirken. Am Ende des Trichters erhalten Sie eine optimierte Ausgabe.

Sehen wir uns eine Beispielabfrage an.

StormEvents 
| where StartTime between (datetime(2007-11-01) .. datetime(2007-12-01))
| where State == "FLORIDA"  
| count 

Hinweis

Bei KQL wird die Groß-/Kleinschreibung für alles beachtet: Tabellennamen, Tabellenspaltennamen, Operatoren, Funktionen usw.

Diese Abfrage verfügt über eine einzelne tabellarische Ausdrucksanweisung. Die -Anweisung beginnt mit einem Verweis auf eine Tabelle namens StormEvents und enthält mehrere Operatoren, und count, die jeweils durch eine Pipe getrennt sind. Die Datenzeilen für die Quelltabelle werden zunächst nach dem Wert der Spalte StartTime und dann nach dem Wert der Spalte State gefiltert. In der letzten Zeile gibt die Abfrage eine Tabelle mit einer einzelnen Spalte und einer einzelnen Zeile zurück, die die Anzahl der verbleibenden Zeilen enthält.

Führen Sie diese Abfrage aus, um das Ergebnis anzuzeigen:

Anzahl
28

Weitere Kusto-Abfragen finden Sie unter Tutorial: Verwenden von Kusto-Abfragen.

Steuerungsbefehle

Im Gegensatz zu Kusto-Abfragen sind Steuerungsbefehle Anforderungen an Kusto zum Verarbeiten oder Ändern von Daten oder Metadaten. Der folgende Steuerungsbefehl erstellt beispielsweise eine neue Kusto-Tabelle mit zwei Spalten (Level und Text):

.create table Logs (Level:string, Text:string)

Steuerungsbefehle haben eine eigene Syntax. Diese ist nicht Teil der Syntax der Kusto-Abfragesprache, auch wenn es bei zahlreichen Konzepten Überschneidungen gibt. Im Gegensatz zu Abfragen beginnen Steuerungsbefehle mit einem Punkt (.). Diese Unterscheidung verhindert viele Arten von Sicherheitsangriffen, da es somit nicht möglich ist, Steuerungsbefehle einfach in Abfragen einzubetten.

Nicht alle Steuerungsbefehle ändern Daten oder Metadaten. Eine große Klasse von Befehlen, die mit .show beginnen, dient zum Anzeigen von Metadaten oder Daten. Der Befehl .show tables gibt beispielsweise eine Liste mit allen Tabellen in der aktuellen Datenbank zurück.

Weitere Informationen zu Steuerungsbefehlen finden Sie unter Übersicht über die Verwaltung (Steuerungsbefehle).

Nächste Schritte