Megosztás a következőn keresztül:


Szintaxiskonvenciák referenciadokumentációhoz

Szolgáltatások váltása a Verzió legördülő listával. További információ a navigációról.
A következőkre vonatkozik: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel

Ez a cikk a Kusto Query Language (KQL) és a felügyeleti parancsok referenciadokumentációjában követett szintaxiskonvenciákat ismerteti.

A Kusto lekérdezési nyelv elsajátításához jó hely az általános lekérdezési struktúra megértése. A Kusto-lekérdezések során elsőként a csőszimbólum (|) használata látható. A Kusto-lekérdezések struktúrája az adatok adatforrásból való lekérésével, majd az adatok folyamaton keresztüli továbbításával kezdődik, és minden lépés bizonyos szintű feldolgozást biztosít, majd átadja az adatokat a következő lépésnek. A folyamat végén megkapja a végső eredményt. Valójában ez a folyamat:

Get Data | Filter | Summarize | Sort | Select

Ez az adatátadási koncepció intuitív struktúrát tesz lehetővé, mivel minden lépésnél egyszerűen készíthet mentális képet az adatokról.

Ennek szemléltetéséhez tekintsük át az alábbi lekérdezést, amely a Microsoft Entra bejelentkezési naplóit mutatja be. Ahogy végigolvassa az egyes sorokat, láthatja azokat a kulcsszavakat, amelyek jelzik, hogy mi történik az adatokkal. Az egyes sorokban megjegyzésként szerepeltetjük a folyamat megfelelő szakaszát.

Megjegyzés:

A lekérdezés bármely sorához megjegyzéseket fűzhet, ha kettős perjellel (//perjellel) előzi meg őket.

SigninLogs                              // Get data
| evaluate bag_unpack(LocationDetails)  // Ignore this line for now; we'll come back to it at the end.
| where RiskLevelDuringSignIn == 'none' // Filter
   and TimeGenerated >= ago(7d)         // Filter
| summarize Count = count() by city     // Summarize
| sort by Count desc                    // Sort
| take 5                                // Select

Mivel minden lépés kimenete a következő lépés bemenete, a lépések sorrendje meghatározhatja a lekérdezés eredményeit, és befolyásolhatja annak teljesítményét. Fontos, hogy a lépéseket annak megfelelően rendelje meg, hogy mit szeretne kihozni a lekérdezésből.

Jótanács

  • Jó ökölszabály az adatok korai szűrése, így csak a releváns adatokat adja át a folyamaton. Ez jelentősen növeli a teljesítményt, és gondoskodik arról, hogy véletlenül ne foglalja bele az irreleváns adatokat az összegzési lépésekbe.
  • Ez a cikk néhány egyéb ajánlott eljárást mutat be, amelyek szem előtt tartandóak. A teljesebb listát a lekérdezés ajánlott eljárásaiban találja.

Szintaxiskonvenciák

Convention Description
Block A sztringkonstansokat pontosan az ábrának megfelelően kell megadni.
Dőlt A függvény vagy parancs használatakor értéket adni kívánt paraméterek.
[ ] Azt jelzi, hogy a mellékelt elem nem kötelező.
( ) Azt jelzi, hogy a mellékelt elemek közül legalább egyre szükség van.
| (cső) Szögletes vagy kerek zárójelben azt jelzi, hogy megadhatja a csőkarakter által elválasztott elemek egyikét. Ebben a formában a cső egyenértékű a logikai VAGY operátorral. Ha blokkban (|) van, a cső a KQL-lekérdezés szintaxisának része.
[, ...] Azt jelzi, hogy az előző paraméter többször is megismételhető, vesszővel elválasztva.
; Lekérdezési utasítás terminátora.

Példák

Skalárfüggvény

Ez a példa a kivonatfüggvény szintaxisát és egy példahasználatát mutatja be, amelyet az egyes szintaxisösszetevők a példahasználatra való lefordításának magyarázata követ.

Szemantika

hash( forrás [,mod])

Példa használatra

hash("World")
  • A függvény hashneve és a nyitó zárójel pontosan az ábrán látható módon lesz beírva.
  • A "World" argumentumként van átadva a szükséges forrásparaméterhez .
  • A modparaméter nem ad át argumentumot, amely nem kötelező a szögletes zárójelek szerint.
  • A záró zárójel pontosan az ábrán látható módon van beírva.

Táblázatos operátor

Ez a példa a rendezési operátor szintaxisát és egy példahasználatát mutatja be, amelyet az egyes szintaxisösszetevőknek a példahasználatra való lefordításának magyarázata követ.

Szemantika

T| sort byoszlop [asc | desc] [nulls first | nulls last] [, ...]

Példa használatra

StormEvents
| sort by State asc, StartTime desc
  • A StormEvents tábla argumentumként lesz átadva a szükséges T paraméterhez.
  • | sort by pontosan az ábrán látható módon van megadva. Ebben az esetben a pipa karakter a táblázatos kifejezési utasítás szintaxisának része, amelyet a blokkszöveg jelöl. További információ: Mi az a lekérdezési utasítás?
  • Az Állapot oszlop argumentumként lesz átadva a kötelező oszlopparaméterhez a választható asc jelölővel.
  • Vessző után a rendszer egy másik argumentumkészletet ad át: a StartTime oszlopot az opcionális desc jelzővel. A [, ...] szintaxis azt jelzi, hogy több argumentumhalmaz is átadható, de nem kötelező.

Választható paraméterek használata

Ha egy másik opcionális paraméter után következő opcionális paraméter argumentumát szeretné megadni, meg kell adnia egy argumentumot a korábbi paraméterhez. Ennek a követelménynek az az oka, hogy az argumentumoknak a szintaxisban megadott sorrendet kell követnie. Ha nincs megadva egy adott érték a paraméterhez, használjon üres, azonos típusú értéket.

Példa szekvenciális opcionális paraméterekre

Vegye figyelembe a http_request beépülő modul szintaxisát:

evaluate http_request ( Uri [,RequestHeaders [,Beállítások]] )

A RequestHeaders és a Options a dinamikus típusú opcionális paraméterek. A Beállítások paraméter argumentumának megadásához meg kell adnia egy argumentumot is a RequestHeaders paraméterhez. Az alábbi példa bemutatja, hogyan adhat meg üres értéket az első opcionális paraméterhez, a RequestHeadershez, hogy meg lehessen adni egy értéket a második opcionális paraméterhez, a Beállításokhoz.

evaluate http_request ( "https://contoso.com/", dynamic({}), dynamic({ EmployeeName: Nicole }) )