Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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 bypontosan 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ó
ascjelölővel. - Vessző után a rendszer egy másik argumentumkészletet ad át: a StartTime oszlopot az opcionális
descjelző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 }) )