Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Selezionare un servizio dall'elenco a discesa a sinistra.
Si applica a: ✅ Esplora dati di Azure in Microsoft Fabric ✅
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 linguaggio, a livello di protocollo e a livello di API. Questa operazione viene eseguita a scopo 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, vengono usati endpoint HTTP/HTTPS diversi per i comandi di controllo anziché per le query.
A livello di API vengono usate diverse funzioni 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. Esistono diversi scenari supportati:
- AdminThenQuery: viene eseguito un comando di gestione e il relativo risultato (rappresentato come tabella di dati temporanea) funge da input per una query.
-
AdminFromQuery: viene eseguita una query o un
.showcomando admin e il relativo risultato (rappresentato come tabella dati temporanea) funge da input per 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 anche che le istruzioni di query vengono visualizzate all'interno della parte di query del testo (non possono precedere il comando stesso).
Annotazioni
È 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 punto e virgola (
;), che introduce quindi i risultati del comando di gestione in un simbolo speciale denominato$command_results, che è quindi possibile usare nella query un numero qualsiasi di volte.
Per 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 di <| caratteri. Nell'esempio seguente viene prima eseguita una query che produce una tabella con una singola colonna (denominata str di tipo string) e una singola riga e la si scrive come nome MyTable di tabella nel database nel contesto:
.set MyTable <|
let text="Hello, World!";
print str=text