Overzicht van Kusto-query's

Een Kusto-query is een alleen-lezenaanvraag voor het verwerken van gegevens en het retourneren van resultaten. De aanvraag wordt in tekst zonder opmaak gesteld, waarbij gebruik wordt gemaakt van een gegevensstroommodel dat is ontworpen om de syntaxis eenvoudig te kunnen lezen, schrijven en automatiseren. De query maakt gebruik van schema-entiteiten die zijn georganiseerd in een hiërarchie die vergelijkbaar is met die van SQL: databases, tabellen en kolommen.

De query bestaat uit een reeks query-instructies, met scheidingstekens door een puntkomma ( ), waarbij ten minste één instructie een tabellaire expressie-instructie is. Dit is een instructie die gegevens produceert die zijn gerangschikt in een tabel-achtige mesh van kolommen en ; rijen. ; De instructies in de tabellaire expressie van de query genereren de resultaten van de query.

De syntaxis van de instructie van een tabellaire expressie zorgt ervoor dat tabellaire gegevens van de ene tabellaire queryoperator naar een andere stromen, beginnend met de gegevensbron (bijvoorbeeld een tabel in een database of een operator die gegevens produceert) en vervolgens door een reeks gegevenstransformatieoperatoren, die met elkaar zijn verbonden door middel van het sluisteken (|).

De volgende Kusto-query heeft bijvoorbeeld één instructie, een instructie van een tabellaire expressie. De instructie begint met een verwijzing naar een tabel met de naam (de database die als host voor deze tabel wordt gebruikt, is hier impliciet StormEvents en maakt deel uit van de verbindingsgegevens). De gegevens (rijen) voor die tabel worden vervolgens gefilterd op de waarde van kolom StartTime en vervolgens gefilterd op de waarde van kolom State. De query retourneert vervolgens het aantal 'overlevende' rijen.

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

Voer deze query uit om het resultaat te bekijken:

Count
23

Besturingsopdrachten

In tegenstelling tot Kusto-query's zijn besturingsopdrachten aanvragen voor Kusto om gegevens of metagegevens te verwerken en mogelijk te wijzigen. Zo wordt met de volgende besturingsopdracht een nieuwe Kusto-tabel gemaakt met twee kolommen, Level en Text:

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

Besturingsopdrachten hebben hun eigen syntaxis, die geen deel uitmaakt van de syntaxis van de Kusto-querytaal, hoewel de twee talloze concepten delen. Besturingsopdrachten worden met name onderscheiden van query's omdat het eerste teken in de tekst van de opdracht een punt (.) moet zijn (waarmee een query niet kan worden gestart). Dit onderscheid voorkomt veel beveiligingsaanvallen, omdat hierdoor het insluiten van besturingsopdrachten binnen query's wordt voorkomen.

Gegevens of metagegevens worden niet door alle besturingsopdrachten gewijzigd. De grote klasse opdrachten die beginnen met .show, worden gebruikt voor het weergeven van metagegevens of gegevens. De opdracht .show tables retourneert bijvoorbeeld een lijst met alle tabellen in de huidige database.

Volgende stappen