Übersicht über Kusto-Abfragen

Eine Kusto-Abfrage ist eine schreibgeschützte Anforderung zur Verarbeitung von Daten und zur Rückgabe der Ergebnisse. Die Anforderung wird in unformatiertem Text formuliert, wobei ein Datenflussmodell verwendet wird, das darauf ausgelegt ist, die Lesbarkeit, das Verfassen und die Automatisierung der Syntax zu vereinfachen. Die Abfrage verwendet Schemaentitäten, die in einer SQL-ähnlichen Hierarchie organisiert sind: Datenbanken, Tabellen und Spalten.

Die Abfrage besteht aus einer Sequenz von Abfrage-Anweisungen, die durch ein Semikolon ( ) getrennt sind. Mindestens eine Anweisung ist eine tabellarische Ausdrucksausdrucks-Anweisung, bei der es sich um eine Anweisung handelt, die Daten erzeugt, die in einem tabellenförmigen Gitter aus Spalten und Zeilen angeordnet ; sind. ; Die tabellarischen Ausdrucksanweisungen der Abfrage erzeugen die Ergebnisse der Abfrage.

Die Syntax der tabellarischen Ausdrucksanweisung besteht aus einem tabellarischen Datenfluss von einem tabellarischen Abfrageoperator zu einem anderen. Dieser beginnt mit einer Datenquelle (z. B. mit einer Tabelle in einer Datenbank oder mit einem Operator, der Daten erzeugt) und durchläuft anschließend eine Reihe von Datentransformationsoperatoren, die mit einem senkrechten Strich (|) als Trennzeichen miteinander verbunden sind.

Die folgende Kusto-Abfrage enthält beispielsweise eine einzelne Anweisung, bei der es sich um eine tabellarische Ausdrucksanweisung handelt. Die Anweisung beginnt mit einem Verweis auf eine Tabelle namens StormEvents (die Datenbank, die diese Tabelle hostet, ist hier implizit und Teil der Verbindungsinformationen). Die Daten (Zeilen) für diese Tabelle werden dann zuerst nach dem Wert der Spalte StartTime gefiltert und anschließend nach dem Wert der Spalte State. Die Abfrage gibt dann die Anzahl der "verbleibenden" Zeilen zurück.

StormEvents 
| where StartTime >= datetime(2007-11-01) and StartTime < datetime(2007-12-01)
| where State == "FLORIDA"  
| count 

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

Anzahl
23

Steuerungsbefehle

Im Gegensatz zu Kusto-Abfragen handelt es sich bei Steuerungsbefehlen um Anforderungen für Kusto, um Daten oder Metadaten zu verarbeiten und ggf. auch zu ändern. 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.

Nächste Schritte