Översikt över Kusto-fråga

En Kusto-fråga är en skrivskyddad begäran om att bearbeta data och returnera resultat. Begäran anges i klartext med hjälp av en dataflödesmodell som är utformad för att göra syntaxen lätt att läsa, skriva och automatisera. Frågan använder schemaentiteter som ordnas i en hierarki som liknar databaser, tabeller och kolumner i SQL.

Frågan består av en sekvens med frågeuttryck avgränsade med semikolon ( ), där minst en instruktion är en tabelluttryckssats som är en instruktion som skapar data ordnade i ett tabellliknande nät med kolumner och ; rader. ; Frågans tabellbaserade uttrycksinstruktioner producerar resultatet av frågan.

Syntaxen för den tabellbaserade uttrycksinstruktionen har tabelldataflöde från en tabellfrågeoperator till en annan, med början i datakällan (till exempel en tabell i en databas eller en operator som producerar data), och flödar sedan genom en uppsättning operatorer för datatransformering som är sammankopplade med avgränsaren vertikalstreck (|).

Till exempel har följande Kusto-fråga en enskild instruktion som är en tabellbaserad uttrycksinstruktion. Instruktionen börjar med en referens till en tabell med namnet (databasen som är värd för den här tabellen är implicit här StormEvents och en del av anslutningsinformationen). Data (rader) för tabellen filtreras sedan efter värdet i kolumnen StartTime och filtreras därefter efter värdet i kolumnen State. Frågan returnerar sedan antalet ”kvarvarande” rader.

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

Kör den här frågan för att se resultatet:

Antal
23

Kontrollkommandon

Till skillnad från Kusto-frågor är kontrollkommandon begäranden till Kusto för att bearbeta och ändra data eller metadata. Till exempel skapar följande kontrollkommando en ny Kusto-tabell med två kolumner, Level och Text:

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

Kontrollkommandon har sin egen syntax, som inte ingår i syntaxen för Kusto-frågespråket, även om de två har många begrepp gemensamt. I synnerhet skiljer sig kontrollkommandon från frågor genom att det första tecknet i kommandotexten är punkttecknet (.) (som inte kan inleda en fråga). Den här skillnaden förhindrar många typer av säkerhetsangrepp eftersom inbäddning av kontrollkommandon förhindras inuti frågor.

Inte alla kontrollkommandon ändrar data eller metadata. Den stora kommandoklassen som börjar med .show används för att visa metadata eller data. Till exempel returnerar kommandot .show tables en lista över alla tabeller i den aktuella databasen.

Nästa steg