Přehled příkazů pro správu
Tento článek popisuje příkazy pro správu, označované také jako řídicí příkazy, které se používají ke správě Kusto. Příkazy pro správu jsou požadavky na službu na načtení informací, které nemusí být nutně daty v databázových tabulkách, nebo o změnu stavu služby atd.
Rozdílování příkazů pro správu od dotazů
Kusto používá tři mechanismy k odlišení dotazů a příkazů pro správu: na úrovni jazyka, na úrovni protokolu a na úrovni rozhraní API. To se provádí z bezpečnostních důvodů.
Na úrovni jazyka první znak textu požadavku určuje, jestli je žádost příkazem pro správu nebo dotazem. Příkazy pro správu musí začínat tečkou (.
) a tímto znakem nesmí začínat žádný dotaz.
Na úrovni protokolu se pro řídicí příkazy používají jiné koncové body HTTP/HTTPS než pro dotazy.
Na úrovni rozhraní API se k odesílání příkazů pro správu namísto dotazů používají různé funkce.
Kombinování dotazů a příkazů pro správu
Příkazy pro správu můžou odkazovat na dotazy (ale ne naopak) nebo jiné příkazy pro správu. Podporuje se několik scénářů:
- AdminThenQuery: Spustí se příkaz pro správu a jeho výsledek (reprezentovaný jako dočasná tabulka dat) slouží jako vstup do dotazu.
- AdminFromQuery: Provede se dotaz nebo
.show
příkaz správce a jeho výsledek (reprezentovaný jako dočasná tabulka dat) slouží jako vstup do příkazu pro správu.
Všimněte si, že ve všech případech je celá kombinace technicky vzato příkazem pro správu, nikoli dotazem, takže text požadavku musí začínat znakem tečky (.
) a požadavek se musí odeslat do koncového bodu správy služby.
Všimněte si také, že příkazy dotazů se nacházejí v části textu s dotazem (nemůžou být před samotným příkazem).
Poznámka
Doporučujeme omezit využití operací AdminThenQuery .
AdminThenQuery se označuje jedním ze dvou způsobů:
- Pomocí znaku kanálu (
|
) proto dotaz zachází s výsledky příkazu pro správu, jako by to byl jakýkoli jiný operátor dotazu vytvářející data. - Pomocí znaku středníku (
;
), který pak vloží výsledky příkazu pro správu do speciálního symbolu s názvem$command_results
, který pak může v dotazu použít libovolný početkrát.
Příklad:
// 1. Using pipe: Count how many tables are in the database-in-scope:
.show tables
| count
// 2. Using semicolon: Count how many tables are in the database-in-scope:
.show tables;
$command_results
| count
// 3. Using semicolon, and including a let statement:
.show tables;
let useless=(n:string){strcat(n,'-','useless')};
$command_results | extend LastColumn=useless(TableName)
AdminFromQuery se označuje kombinací znaků <|
. Například v následujícím příkladu nejprve spustíme dotaz, který vytvoří tabulku s jedním sloupcem (sloupec str
typu string
) a jedním řádkem, a zapíšeme tabulku do databáze v kontextu jako tabulku s názvem MyTable
:
.set MyTable <|
let text="Hello, World!";
print str=text
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro