Kusto CLI
Kusto.Cli est un utilitaire de ligne de commande permettant d’envoyer des requêtes et des commandes de contrôle sur un cluster Kusto. Il peut s’exécuter dans l’un des différents modes :
Mode REPL : l’utilisateur entre des requêtes et des commandes, et l’outil affiche les résultats, puis attend la requête/commande utilisateur suivante. (« REPL » signifie « read/eval/print/loop ».)
Mode d’exécution : l’utilisateur entre une ou plusieurs requêtes et commandes pour s’exécuter en tant qu’arguments de ligne de commande. Les arguments sont exécutés automatiquement dans la séquence et leurs résultats sont générés dans la console. Si vous le souhaitez, une fois que toutes les requêtes et commandes d’entrée ont été exécutées, l’outil passe en mode REPL.
Mode script : similaire au mode d’exécution, mais avec les requêtes et les commandes spécifiées dans un fichier (le « script ») au lieu d’arguments de ligne de commande.
Kusto.Cli est principalement fourni pour automatiser des tâches sur un service Kusto qui nécessite normalement l’écriture de code. Par exemple, un programme C# ou un script PowerShell.
Obtenir l’outil
Kusto.Cli fait partie du package Microsoft.Azure.Kusto.Tools
NuGet que vous pouvez télécharger pour .NET. Après avoir téléchargé le package, extrayez le dossier du tools
package dans le dossier cible. Aucune installation supplémentaire n’est requise, car elle est xcopy-installable.
Exécutez l’outil
Kusto.Cli nécessite au moins un argument de ligne de commande à exécuter. En règle générale, cet argument est la chaîne de connexion au service Kusto auquel l’outil doit se connecter.
Pour plus d’informations, consultez les chaîne de connexion Kusto. Si vous exécutez l’outil sans arguments de ligne de commande, avec un ensemble inconnu d’arguments ou avec le /help
commutateur, un message d’aide s’affiche sur la console.
Par exemple, utilisez la commande suivante pour exécuter Kusto.Cli. La commande se connecte au help
service Kusto et définit le contexte de la base de données sur la Samples
base de données :
Kusto.Cli.exe "https://help.kusto.windows.net/Samples;Fed=true"
Remarque
Utilisez des guillemets doubles autour de la chaîne de connexion pour empêcher les applications shell telles que PowerShell de mal interpréter le point-virgule (;
) et les caractères similaires.
Arguments de ligne de commande
(Pour obtenir une liste exhaustive d’arguments de ligne de commande, exécutez : Kusto.Cli.exe -help
.)
Kusto.Cli.exe
ConnectionString [Commutateurs]
ConnectionString
- Le chaîne de connexion Kusto qui contient toutes les informations de connexion Kusto.
La valeur par défaut est
net.tcp://localhost/NetDefaultDB
.
-execute:
QueryOrCommand
- Si elle est spécifiée, exécute Kusto.Cli en mode d’exécution et la requête ou la commande spécifiée est exécutée. Ce commutateur peut se répéter et les requêtes/commandes sont exécutées séquentiellement dans l’ordre d’apparence.
Ce commutateur ne peut pas être utilisé avec
-script
ou-scriptml
.
-keepRunning:
EnableKeepRunning
- S’il est spécifié, comme l’un
true
ou l’autre,false
il active ou désactive le mode REPL une fois que toutes ou-execute
valeurs-script
ont été traitées.
-script:
ScriptFile
- Si elle est spécifiée, exécute Kusto.Cli en mode script. Le fichier de script spécifié est chargé et les requêtes ou commandes qu’il contient sont exécutées séquentiellement.
Les nouvelles lignes sont utilisées pour délimiter les requêtes/commandes, sauf lorsque les lignes se terminent par une
&
ou&&
combinaison, comme expliqué ci-dessous. Ce commutateur ne peut pas être utilisé avec-execute
.
-scriptml:
ScriptFile
- Si elle est spécifiée, exécute Kusto.Cli en mode script. Le fichier de script spécifié est chargé et les requêtes ou commandes qu’il contient sont exécutées séquentiellement.
Le fichier de script entier est considéré comme une seule requête ou commande (en ignorant les considérations relatives au mode d’entrée de ligne ou au mode d’entrée de bloc).) Ce commutateur ne peut pas être utilisé avec
-execute
.
-scriptQuitOnError:
QuitOnFirstScriptError
- Si cette option est activée, Kusto.Cli quitte si une commande ou une requête dans un script génère une erreur. Si cette option est désactivée, l’exécution du script continue malgré les erreurs. Par défaut, ce commutateur est activé.
-echo:
EnableEchoMode
- S’il est spécifié, comme l’un ou l’autre
true
,false
il active ou désactive le mode écho. Lorsque le mode écho est activé, chaque requête ou commande est répétée dans la sortie.
-transcript:
TranscriptFile
- Si elle est spécifiée, écrit la sortie du programme dans TranscriptFile.
-logToConsole:
EnableLogToConsole
- S’il est spécifié, comme
true
l’un oufalse
l’autre, il active ou désactive l’affichage de la sortie du programme sur la console.
-lineMode:
EnableLineMode
- Détermine la façon dont les nouvelles lignes sont traitées lors de la saisie de requêtes ou de commandes à partir de la console ou à partir de scripts. Par défaut (ou si défini explicitement sur
true
), l’outil utilise le « mode d’entrée de ligne ». Si la valeur est définiefalse
, les scripts sont lus en « mode d’entrée de bloc ». Consultez ci-dessous pour obtenir une explication de ces deux modes.
Exemple
Kusto.Cli.exe "https://help.kusto.windows.net/Samples;Fed=true" -script:"c:\mycommands.txt"
Remarque
Il ne doit pas y avoir d’espace entre le signe deux-points et la valeur de l’argument
Directives
Kusto.Cli exécute plusieurs directives dans l’outil au lieu de les envoyer au service pour traitement.
Directive | Description |
---|---|
? #h #help |
Obtenir un message d’aide court |
q #quit #exit |
Quitter l’outil |
#a #abort |
Quitter l’outil abortivement |
#clip |
Les résultats de la requête ou de la commande suivante seront copiés dans le Presse-papiers |
#cls |
Effacer l’écran de la console |
#connect [ConnectionString] |
Se connecte à un autre service Kusto (si ConnectionString est omis, celui en cours s’affiche) |
#crp [Name [= Value]] |
Définit la valeur d’une propriété de requête cliente, ou l’affiche simplement, ou affiche toutes les valeurs |
#crp (-list | -doc ) [Préfixe] |
Répertorie les propriétés de demande du client, par préfixe ou tout |
#dbcontext [DatabaseName] |
Remplace la base de données « context » utilisée par les requêtes et les commandes par DatabaseName. S’il est omis, le contexte actuel s’affiche |
ke SMS |
Envoie le texte spécifié à un processus Kusto.Explorer en cours d’exécution |
#loop Compter SMS |
Exécute le texte plusieurs fois |
#qp [Name [= Value]] |
Définit la valeur d’un paramètre de requête, ou l’affiche simplement, ou affiche toutes les valeurs. Les guillemets simples/doubles au début/fin seront rognés |
#save Fichier |
Les résultats de la requête ou de la commande suivante sont enregistrés dans le fichier CSV indiqué |
#script Fichier |
Exécute le script indiqué |
#scriptml Fichier |
Exécute le script multiligne indiqué |
Mode d’entrée de ligne et mode d’entrée de bloc
Par défaut, Kusto.Cli s’exécute en mode d’entrée de ligne. Chaque caractère de ligne est interprété comme un délimiteur entre les requêtes/commandes, et la ligne est immédiatement envoyée pour l’exécution.
Dans ce mode, vous pouvez interrompre une longue requête ou une commande en plusieurs lignes. Le &
caractère en tant que dernier caractère d’une ligne, avant la nouvelle ligne, entraîne la lecture de la ligne suivante par Kusto.Cli. Le &&
caractère en tant que dernier caractère d’une ligne, avant la nouvelle ligne, entraîne l’ignorer kusto.Cli et continuer à lire la ligne suivante.
Kusto.Cli prend également en charge l’exécution en mode d’entrée de bloc en spécifiant -lineMode:false
dans la ligne de commande ou en exécutant la directive #blockmode
. Dans ce mode, Kusto.Cli se comporte de la même façon que Kusto.Explorer et Kusto.WebExplorer, dans ces lignes sont lues en tant que « blocs », avec chaque bloc constitué d’une requête ou d’une seule commande, et les blocs sont délimités par une ou plusieurs lignes vides entre elles.
Remarque
L’utilisation du mode d’entrée de bloc est vivement recommandée lorsque les requêtes/commandes sont lues à partir d’un fichier de script (-script
).
Commentaires
Kusto.Cli interprète une //
chaîne qui commence une nouvelle ligne en tant que ligne de commentaire. Elle ignore le reste de la ligne et continue de lire la ligne suivante.
Options d’outil uniquement
Commandes | Effet | Actuellement |
---|---|---|
#timeon|#timeoff | option timing enable/disable : afficher les demandes de temps nécessaire |
VRAI |
#tableon|#tableoff | option enable/disable tableView : Mettre en forme les jeux de résultats sous forme de tables |
VRAI |
#marson|#marsoff | option marsView enable/disable : afficher les jeux de résultats second à dernier |
FAUX |
#resultson|#resultsoff | option outputResultsSet enable/disable : afficher les jeux de résultats |
VRAI |
#prettyon|#prettyoff | option enable/disable prettyErrors : Nettoyer les erreurs |
VRAI |
#markdownon|#markdownoff | option enable/disable markdownView : Mettre en forme les tables en tant que MarkDown |
FAUX |
#progressiveon|#progressiveoff | option enable/disable progressiveView : Demander et afficher des résultats progressifs |
FAUX |
#linemode|#blockmode | option enable/disable lineMode : mode d’entrée à ligne unique |
VRAI |
Commandes | Résultat | Par défaut |
---|---|---|
#cridon|#cridoff | (enable|disable option crid : afficher le ClientRequestId avant d’envoyer la requête) |
FAUX |
#csvheaderson|#csvheadersoff | (enable|disable option csvHeaders : Inclure des en-têtes dans la sortie CSV) |
VRAI |
#focuson|#focusoff | (activer|désactiver l’option focus : Supprimer tout le peluche supplémentaire et se concentrer sur les éléments appropriés) |
FAUX |
#linemode|#blockmode | (enable|disable option lineMode : mode d’entrée à ligne unique) |
VRAI |
#markdownon|#markdownoff | (enable|disable option markdownView : Mettre en forme les tables en tant que MarkDown) |
FAUX |
#marson|#marsoff | (enable|disable option marsView : Afficher les jeux de résultats second à dernier) |
FAUX |
#prettyon|#prettyoff | (enable|disable option prettyErrors : Nettoyer les erreurs) |
VRAI |
#querystreamingon|#querystreamingoff | (enable|disable option queryStreaming : Utiliser le point de terminaison queryStreaming (équipe Kusto uniquement)) |
FAUX |
#resultson|#resultsoff | (enable|disable option outputResultsSet : Afficher les jeux de résultats) |
VRAI |
#tableon|#tableoff | (enable|disable option tableView : Mettre en forme les jeux de résultats sous forme de tables) |
VRAI |
#timeon|#timeoff | (activer|désactiver l’option timing : afficher le temps nécessaire aux demandes) |
VRAI |
#typeon|#typeoff | (enable|disable option typeView : afficher le type de chaque colonne en mode tableau. Force Streaming=true) |
VRAI |
#v2protocolon|#v2protocoloff | (enable|disable option v2protocol : Utiliser le protocole de requête v2, et non v1) |
VRAI |
Utiliser Kusto.Cli pour exporter les résultats au format CSV
Kusto.Cli a une commande spéciale côté client, #save
qui exporte les résultats de la requête suivante vers un fichier local au format CSV. Par exemple, la ligne suivante exporte 10 enregistrements hors de la StormEvents
table dans le help.kusto.windows.net
cluster, Samples
base de données :
Kusto.Cli.exe @help/Samples -execute:"#save c:\temp\test.log" -execute:"StormEvents | take 10"
Utiliser Kusto.Cli pour contrôler une instance en cours d’exécution de Kusto.Explorer
Vous pouvez demander à Kusto.Cli de communiquer avec l’instance « primaire » de Kusto.Explorer s’exécutant sur l’ordinateur et d’envoyer des requêtes. Ce mécanisme peut être utile pour les programmes qui souhaitent exécuter un certain nombre de requêtes, mais ne souhaitent pas démarrer le processus Kusto.Explorer à plusieurs reprises. Dans l’exemple suivant, Kusto.Cli est utilisé pour exécuter une requête sur le cluster d’aide :
#connect cluster('help').database('Samples')
#ke StormEvents | count
La syntaxe est simple : #ke
, suivie de l’espace blanc et de la requête à exécuter.
La requête est ensuite envoyée à l’instance principale de Kusto.Explorer, le cas échéant, avec le cluster/la base de données actuel défini dans Kusto.Cli.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour