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
A Kusto-nak küldött lekérdezések tartalmazhatnak név- vagy értékpárokat. A párokat lekérdezési paramétereknek nevezzük, a lekérdezés szövegével együtt. A lekérdezés egy vagy több értékre hivatkozhat, ha neveket és típusokat ad meg egy lekérdezési paraméterek deklarációs utasításában.
A lekérdezési paramétereknek két fő felhasználási módja van:
- Védelmi mechanizmus az injektálási támadások ellen.
- A lekérdezések paraméterezésének módjaként.
Különösen azoknak az ügyfélalkalmazásoknak kell használniuk a mechanizmust, amelyek a felhasználó által megadott bemeneteket egyesítik a Kusto-nak küldött lekérdezésekben, az SQL-injektálási támadásokkal egyenértékű Kusto-támadásokkal szembeni védelem érdekében.
Lekérdezési paraméterek deklarálása
A lekérdezési paraméterekre való hivatkozáshoz a lekérdezés szövegének vagy függvényeinek először deklarálniuk kell, hogy melyik lekérdezési paramétert használja. A deklaráció minden paraméterhez megadja a nevet és a skaláris típust. Opcionálisan a paraméter alapértelmezett értékkel is rendelkezhet. Az alapértelmezett érték akkor használatos, ha a kérés nem ad konkrét értéket a paraméternek. A Kusto ezután elemzi a lekérdezési paraméter értékét az adott típusra vonatkozó szokásos elemzési szabályok szerint.
Syntax
declare
query_parameters
(
Név1:Type1 [=DefaultValue1] [,...] );
További információ szintaxiskonvenciákról.
Parameters
| Name | Típus | Required | Description |
|---|---|---|---|
| Name1 | string |
✔️ | A lekérdezésben használt lekérdezési paraméter neve. |
| Type1 | string |
✔️ | A megfelelő típus, például string vagy datetime. A felhasználó által megadott értékek sztringekként vannak kódolva. A rendszer a megfelelő elemzési módszert alkalmazza a lekérdezési paraméterre egy erősen beírt érték lekéréséhez. |
| DefaultValue1 | string |
A paraméter alapértelmezett értéke. Ennek az értéknek a megfelelő skaláris típusú literálnak kell lennie. |
Note
Example
Az ebben a szakaszban szereplő példák bemutatják, hogyan használhatja a szintaxist az első lépésekhez.
A cikkben szereplő példák nyilvánosan elérhető táblákat használnak a súgófürtben, például a
StormEventsMintaadatbázis tábláját.
A cikkben szereplő példák nyilvánosan elérhető táblákat használnak, például a
WeatherWeather Analytics mintagyűjteményében található táblázatot. Előfordulhat, hogy módosítania kell a tábla nevét a példa lekérdezésben, hogy megfeleljen a munkaterület táblájának.
Lekérdezési paraméterek deklarálása
Ez a lekérdezés a StormEvents táblából kéri le a stormeseményeket, ahol a közvetlen és közvetett sérülések teljes száma meghaladja a megadott küszöbértéket (alapértelmezés szerint 90). Ezután az EpisodeId, az EventType és az egyes események sérüléseinek teljes számát jeleníti meg.
declare query_parameters(maxInjured:long = 90);
StormEvents
| where InjuriesDirect + InjuriesIndirect > maxInjured
| project EpisodeId, EventType, totalInjuries = InjuriesDirect + InjuriesIndirect
Output
| EpisodeId | EventType | totalInjuries |
|---|---|---|
| 12459 | Téli időjárás | 137 |
| 10477 | Túlzott hő | 200 |
| 10391 | Heat | 187 |
| 10217 | Túlzott hő | 422 |
| 10217 | Túlzott hő | 519 |
Lekérdezési paraméterek megadása egy ügyfélalkalmazásban
A lekérdezési paraméterek nevét és értékeit a lekérdezést készítő alkalmazás string értékként adja meg. A név nem ismétlődhet.
Az értékek értelmezése a lekérdezési paraméterek deklarációs utasítása alapján történik. Minden érték úgy van elemezve, mintha egy lekérdezés törzsében konstans lenne. Az elemzés a lekérdezési paraméterek deklarációs utasítása által megadott típusnak megfelelően történik.
REST API
A lekérdezési paramétereket az ügyfélalkalmazások a kérelemtörzs JSON-objektumának properties pontján keresztül, egy beágyazott tulajdonságcsomagban, Parameters. Itt látható például egy REST API-hívás törzse a Kusto felé, amely kiszámítja egy felhasználó életkorát, feltehetően azzal, hogy az alkalmazás kéri a felhasználó születésnapját.
{
"ns": null,
"db": "myDB",
"csl": "declare query_parameters(birthday:datetime); print strcat(\"Your age is: \", tostring(now() - birthday))",
"properties": "{\"Options\":{},\"Parameters\":{\"birthday\":\"datetime(1970-05-11)\",\"courses\":\"dynamic(['Java', 'C++'])\"}}"
}
Kusto SDK-k
A lekérdezési paraméterek nevének és értékének megadásáról a Kusto-ügyfélkódtárak használatakor a felhasználói bemenetek védelme lekérdezési paraméterekkel című témakörben olvashat.
Kusto.Explorer
A szolgáltatásnak küldött kéréskor küldött lekérdezési paraméterek beállításához használja a Lekérdezési paraméterek "csavarkulcs" ikonját (ALT + P).