Share via


Kusto CLI

Kusto.Cli is een opdrachtregelprogramma voor het verzenden van query's en besturingsopdrachten in een Kusto-cluster. Het kan in een van de volgende modi worden uitgevoerd:

  • REPL-modus: De gebruiker voert query's en opdrachten in en het hulpprogramma geeft de resultaten weer en wacht vervolgens op de volgende gebruikersquery/-opdracht. ("REPL" staat voor "read/eval/print/loop".)

  • Uitvoeringsmodus: de gebruiker voert een of meer query's en opdrachten in om uit te voeren als opdrachtregelargumenten. De argumenten worden automatisch opeenvolgend uitgevoerd en de resultaten worden naar de console uitgevoerd. Nadat alle invoerquery's en opdrachten zijn uitgevoerd, gaat het hulpprogramma desgewenst naar de REPL-modus.

  • Scriptmodus: Vergelijkbaar met de uitvoeringsmodus, maar met de query's en opdrachten die zijn opgegeven in een bestand (het 'script') in plaats van via opdrachtregelargumenten.

Kusto.Cli wordt voornamelijk geleverd voor het automatiseren van taken op basis van een Kusto-service waarvoor normaal gesproken code moet worden geschreven. Bijvoorbeeld een C#-programma of een PowerShell-script.

Het hulpprogramma downloaden

Kusto.Cli maakt deel uit van het NuGet-pakket Microsoft.Azure.Kusto.Tools dat u voor .NET kunt downloaden. Nadat u het pakket hebt gedownload, extraheert u de map van tools het pakket naar de doelmap. Er is geen extra installatie vereist omdat het xcopy-installeerbaar is.

Het hulpprogramma uitvoeren

Kusto.Cli vereist ten minste één opdrachtregelargument om uit te voeren. Meestal is dat argument de verbindingsreeks van de Kusto-service waarmee het hulpprogramma verbinding moet maken. Zie Kusto-verbindingsreeksen voor meer informatie. Als u het hulpprogramma uitvoert zonder opdrachtregelargumenten, met een onbekende set argumenten of met de /help schakeloptie, wordt er een Help-bericht weergegeven op de console.

Gebruik bijvoorbeeld de volgende opdracht om Kusto.Cli uit te voeren. De opdracht maakt verbinding met de help Kusto-service en stelt de databasecontext in op de Samples database:

Kusto.Cli.exe "https://help.kusto.windows.net/Samples;Fed=true"

Notitie

Gebruik dubbele aanhalingstekens rond de verbindingsreeks om te voorkomen dat shelltoepassingen zoals PowerShell de puntkomma (;) en soortgelijke tekens verkeerd interpreteren.

Opdrachtregelargumenten

(Voer het volgende uit om een volledige lijst met opdrachtregelargumenten op te halen: Kusto.Cli.exe -help.)

Kusto.Cli.exeConnectionString [Switches]

Connectionstring

  • De Kusto-verbindingsreeks die alle Kusto-verbindingsgegevens bevat. De standaardwaarde is net.tcp://localhost/NetDefaultDB.

-execute:QueryOrOpdracht

  • Indien opgegeven, wordt Kusto.Cli uitgevoerd in de uitvoeringsmodus en wordt de opgegeven query of opdracht uitgevoerd. Deze schakeloptie kan worden herhaald en de query's/opdrachten worden opeenvolgend uitgevoerd in volgorde van weergave. Deze schakeloptie kan niet worden gebruikt in combinatie met -script of -scriptml.

-keepRunning:EnableKeepRunning

  • Indien opgegeven, als true of false, wordt de REPL-modus ingeschakeld of uitgeschakeld nadat alle -script waarden zijn -execute verwerkt.

-script:ScriptFile

  • Indien opgegeven, wordt Kusto.Cli uitgevoerd in de scriptmodus. Het opgegeven scriptbestand wordt geladen en de query's of opdrachten erin worden opeenvolgend uitgevoerd. Nieuwe regels worden gebruikt om query's/opdrachten te scheiden, behalve wanneer regels eindigen op een & combinatie of && , zoals hieronder wordt uitgelegd. Deze schakeloptie kan niet worden gebruikt in combinatie met -execute.

-scriptml:ScriptFile

  • Indien opgegeven, wordt Kusto.Cli uitgevoerd in de scriptmodus. Het opgegeven scriptbestand wordt geladen en de query's of opdrachten erin worden opeenvolgend uitgevoerd. Het hele scriptbestand wordt beschouwd als één query of opdracht (waarbij rekening wordt gehouden met de regelinvoermodus of de blokinvoermodus).) Deze schakeloptie kan niet worden gebruikt in combinatie met -execute.

-scriptQuitOnError:QuitOnFirstScriptError

  • Als deze optie is ingeschakeld, wordt Kusto.Cli afgesloten als een opdracht of query in een script resulteert in een fout. Als dit is uitgeschakeld, wordt de uitvoering van het script voortgezet ondanks fouten. Deze schakeloptie is standaard ingeschakeld.

-echo:EnableEchoMode

  • Indien opgegeven, als true of false, wordt de echomodus in- of uitgeschakeld. Wanneer de echomodus is ingeschakeld, wordt elke query of opdracht herhaald in de uitvoer.

-transcript:TranscriptFile

  • Indien opgegeven, wordt programma-uitvoer naar TranscriptFile geschreven.

-logToConsole:EnableLogToConsole

  • Indien opgegeven, als true of false, wordt het weergeven van de programma-uitvoer op de console in- of uitgeschakeld.

-lineMode:EnableLineMode

  • Bepaalt hoe nieuwe regels worden behandeld bij het invoeren van query's of opdrachten vanuit de console of vanuit scripts. Standaard (of als dit expliciet is ingesteld op true), gebruikt het hulpprogramma de 'regelinvoermodus'. Als deze optie is ingesteld op false, worden scripts gelezen in 'invoermodus blokkeren'. Zie hieronder voor een uitleg van deze twee modi.

Voorbeeld

Kusto.Cli.exe "https://help.kusto.windows.net/Samples;Fed=true" -script:"c:\mycommands.txt"

Notitie

Er mag geen spatie zijn tussen de dubbele punt en de argumentwaarde

Richtlijnen

Kusto.Cli voert een aantal instructies uit in het hulpprogramma in plaats van ze naar de service te verzenden voor verwerking.

Richtlijn Description
?
#h
#help
Een kort Help-bericht ontvangen
q
#quit
#exit
Het hulpprogramma afsluiten
#a
#abort
Het hulpprogramma afbreken
#clip De resultaten van de volgende query of opdracht worden naar het klembord gekopieerd
#cls Het consolescherm wissen
#connect[ConnectionString] Maakt verbinding met een andere Kusto-service (als ConnectionString wordt weggelaten, wordt de huidige weergegeven)
#crp [Naam [=waarde]] Hiermee stelt u de waarde van een clientaanvraageigenschap in, geeft deze alleen weer of geeft u alle waarden weer
#crp (-list | -doc) [voorvoegsel] Geeft eigenschappen van clientaanvragen weer, op voorvoegsel of alle
#dbcontext [DatabaseName] Hiermee wijzigt u de contextdatabase die wordt gebruikt door query's en opdrachten in DatabaseName. Als u dit weglaat, wordt de huidige context weergegeven
keTekst Verzendt de opgegeven tekst naar een actief Kusto.Explorer-proces
#loopTekst tellen Voert de tekst een aantal keren uit
#qp [Naam [=waarde]] Hiermee stelt u de waarde van een queryparameter in, geeft deze alleen weer of geeft u alle waarden weer. Enkele/dubbele aanhalingstekens aan het begin/einde worden bijgesneden
#saveBestandsnaam De resultaten van de volgende query of opdracht worden opgeslagen in het aangegeven CSV-bestand
#scriptBestandsnaam Voert het aangegeven script uit
#scriptmlBestandsnaam Hiermee wordt het aangegeven script met meerdere regels uitgevoerd

Regelinvoermodus en blokinvoermodus

Kusto.Cli wordt standaard uitgevoerd in de modus voor regelinvoer. Elk nieuw regelteken wordt geïnterpreteerd als een scheidingsteken tussen query's/opdrachten en de regel wordt onmiddellijk verzonden voor uitvoering.

In deze modus kunt u een lange query of opdracht opsplitsen in meerdere regels. Het & teken als laatste teken van een regel, vóór de nieuwe regel, zorgt ervoor dat Kusto.Cli doorgaat met het lezen van de volgende regel. Het && teken als laatste teken van een regel, vóór de nieuwe regel, zorgt ervoor dat Kusto.Cli de nieuwe regel negeert en de volgende regel verder leest.

Kusto.Cli ondersteunt ook het uitvoeren in de modus voor blokinvoer door op te -lineMode:false geven in de opdrachtregel of door de -instructie #blockmodeuit te voeren. In deze modus gedraagt Kusto.Cli zich op een vergelijkbare manier als Kusto.Explorer en Kusto.WebExplorer, in die zin dat regels samen worden gelezen als 'blokken', waarbij elk blok uit één query of opdracht bestaat, en blokken worden gescheiden door een of meer lege regels ertussen.

Notitie

Het gebruik van de blokinvoermodus wordt ten zeerste aanbevolen wanneer query's/opdrachten worden gelezen uit een scriptbestand (-script).

Opmerkingen

Kusto.Cli interpreteert een // tekenreeks die begint met een nieuwe regel als een opmerkingsregel. De rest van de regel wordt genegeerd en de volgende regel wordt verder gelezen.

Opties voor alleen hulpprogramma's

Opdracht Effect Momenteel
#timeon|#timeoff optie timingvoor in-/uitschakelen: de tijd weergeven die aanvragen hebben geduurd TRUE
#tableon|#tableoff Optie tableViewvoor in-/uitschakelen: Resultatensets opmaken als tabellen TRUE
#marson|#marsoff Optie marsViewvoor in-/uitschakelen: de op een na laatste resultatensets weergeven FALSE
#resultson|#resultsoff optie outputResultsSetin-/uitschakelen: de resultatensets weergeven TRUE
#prettyon|#prettyoff optie prettyErrorsvoor in-/uitschakelen: fouten bij opschonen TRUE
#markdownon|#markdownoff Optie markdownViewvoor in-/uitschakelen: Tabellen opmaken als MarkDown FALSE
#progressiveon|#progressiveoff optie progressiveViewvoor in-/uitschakelen: progressieve resultaten vragen en weergeven FALSE
#linemode|#blockmode Optie lineModevoor in-/uitschakelen: invoermodus met één regel TRUE
Opdracht Effect Standaard
#cridon|#cridoff (optie cridinschakelen|uitschakelen: geef de ClientRequestId weer voordat de aanvraag wordt verzonden) FALSE
#csvheaderson|#csvheadersoff (optie csvHeadersinschakelen|uitschakelen: kopteksten opnemen in CSV-uitvoer) TRUE
#focuson|#focusoff (optie focusinschakelen|uitschakelen: verwijder alle extra pluisjes en richt u op de juiste dingen) FALSE
#linemode|#blockmode (optie lineModevoor inschakelen|uitschakelen: invoermodus met één regel) TRUE
#markdownon|#markdownoff (optie markdownViewvoor inschakelen|uitschakelen: tabellen opmaken als MarkDown) FALSE
#marson|#marsoff (optie marsViewinschakelen|uitschakelen: de op een na laatste resultatensets weergeven) FALSE
#prettyon|#prettyoff (optie prettyErrorsvoor inschakelen|uitschakelen: fouten opschonen) TRUE
#querystreamingon|#querystreamingoff (optie queryStreaminginschakelen|uitschakelen: het eindpunt queryStreaming gebruiken (alleen Kusto-team)) FALSE
#resultson|#resultsoff (optie outputResultsSetinschakelen|uitschakelen: de resultatensets weergeven) TRUE
#tableon|#tableoff (optie tableViewinschakelen|uitschakelen: Resultatensets opmaken als tabellen) TRUE
#timeon|#timeoff (optie timinginschakelen|uitschakelen: de hoeveelheid tijd weergeven die de aanvragen hebben geduurd) TRUE
#typeon|#typeoff (optie typeViewinschakelen|uitschakelen: geef het type van elke kolom in de tabelweergave weer. Dwingt streaming = waar) TRUE
#v2protocolon|#v2protocoloff (optie v2protocolinschakelen|uitschakelen: het v2-queryprotocol gebruiken, niet v1) TRUE

Kusto.Cli gebruiken om resultaten te exporteren als CSV

Kusto.Cli heeft een speciale opdracht aan de clientzijde, #save waarmee de volgende queryresultaten worden geëxporteerd naar een lokaal bestand in CSV-indeling. Met de volgende regel worden bijvoorbeeld 10 records uit de StormEvents tabel geëxporteerd naar de help.kusto.windows.net clusterdatabase Samples :

Kusto.Cli.exe @help/Samples -execute:"#save c:\temp\test.log" -execute:"StormEvents | take 10"

Kusto.Cli gebruiken om een actief exemplaar van Kusto.Explorer te beheren

U kunt Kusto.Cli instrueren om te communiceren met het 'primaire' exemplaar van Kusto.Explorer dat wordt uitgevoerd op de computer en deze query's te verzenden. Dit mechanisme kan handig zijn voor programma's die een aantal query's willen uitvoeren, maar het Kusto.Explorer-proces niet herhaaldelijk willen starten. In het volgende voorbeeld wordt Kusto.Cli gebruikt om een query uit te voeren op het Help-cluster:

#connect cluster('help').database('Samples')

#ke StormEvents | count

De syntaxis is eenvoudig: #ke, gevolgd door witruimte en de uit te voeren query. De query wordt vervolgens verzonden naar het primaire exemplaar van Kusto.Explorer, indien aanwezig, waarbij het huidige cluster/de huidige database is ingesteld in Kusto.Cli.