Panoramica dei comandi di gestione
Questo articolo descrive i comandi di gestione, noti anche come comandi di controllo, usati per gestire Kusto. I comandi di gestione sono richieste al servizio per recuperare informazioni che non sono necessariamente dati nelle tabelle di database o per modificare lo stato del servizio e così via.
Differenziare i comandi di gestione dalle query
Kusto usa tre meccanismi per distinguere le query e i comandi di gestione: a livello di lingua, a livello di protocollo e a livello di API. Questa distinzione viene fatta per motivi di sicurezza.
A livello di lingua, il primo carattere del testo di una richiesta determina se la richiesta è un comando di gestione o una query. I comandi di gestione devono iniziare con il carattere punto (.
) e nessuna query può iniziare da tale carattere.
A livello di protocollo, per i comandi di controllo vengono usati diversi endpoint HTTP/HTTPS, a differenza delle query.
A livello di API, le diverse funzioni vengono usate per inviare comandi di gestione anziché query.
Combinazione di query e comandi di gestione
I comandi di gestione possono fare riferimento a query (ma non viceversa) o ad altri comandi di gestione. Sono supportati diversi scenari:
- AdminThenQuery: viene eseguito un comando di gestione e il relativo risultato (rappresentato come tabella dati temporanea) funge da input per una query.
- AdminFromQuery: viene eseguita una query o un
.show
comando amministratore e il relativo risultato (rappresentato come tabella dati temporanea) funge da input a un comando di gestione.
Si noti che in tutti i casi, l'intera combinazione è tecnicamente un comando di gestione, non una query, quindi il testo della richiesta deve iniziare con un carattere punto (.
) e la richiesta deve essere inviata all'endpoint di gestione del servizio.
Si noti inoltre che le istruzioni di query vengono visualizzate all'interno della parte del testo che costituisce la query (non possono precedere il comando stesso).
Nota
È consigliabile limitare l'utilizzo delle operazioni AdminThenQuery .
AdminThenQuery è indicato in uno dei due modi seguenti:
- Usando un carattere pipe (
|
) la query considera quindi i risultati del comando di gestione come se fosse un altro operatore di query che produce dati. - Usando un carattere di punto e virgola (
;
) che introduce quindi i risultati del comando di gestione in un simbolo speciale denominato$command_results
, che può quindi essere usato nella query in qualsiasi numero di volte.
Ad esempio:
// 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 è indicato dalla combinazione dei caratteri <|
. Nell'esempio seguente viene prima di tutto eseguita una query che produce una tabella con una singola colonna (denominata str
di tipo string
) e una singola riga e la scrive come nome di tabella MyTable
nel database nel contesto:
.set MyTable <|
let text="Hello, World!";
print str=text
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per