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.exe
ConnectionString [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
offalse
, 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
offalse
, 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
offalse
, 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 opfalse
, 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 |
ke Tekst |
Verzendt de opgegeven tekst naar een actief Kusto.Explorer-proces |
#loop Tekst 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 |
#save Bestandsnaam |
De resultaten van de volgende query of opdracht worden opgeslagen in het aangegeven CSV-bestand |
#script Bestandsnaam |
Voert het aangegeven script uit |
#scriptml Bestandsnaam |
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 #blockmode
uit 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 timing voor in-/uitschakelen: de tijd weergeven die aanvragen hebben geduurd |
TRUE |
#tableon|#tableoff | Optie tableView voor in-/uitschakelen: Resultatensets opmaken als tabellen |
TRUE |
#marson|#marsoff | Optie marsView voor in-/uitschakelen: de op een na laatste resultatensets weergeven |
FALSE |
#resultson|#resultsoff | optie outputResultsSet in-/uitschakelen: de resultatensets weergeven |
TRUE |
#prettyon|#prettyoff | optie prettyErrors voor in-/uitschakelen: fouten bij opschonen |
TRUE |
#markdownon|#markdownoff | Optie markdownView voor in-/uitschakelen: Tabellen opmaken als MarkDown |
FALSE |
#progressiveon|#progressiveoff | optie progressiveView voor in-/uitschakelen: progressieve resultaten vragen en weergeven |
FALSE |
#linemode|#blockmode | Optie lineMode voor in-/uitschakelen: invoermodus met één regel |
TRUE |
Opdracht | Effect | Standaard |
---|---|---|
#cridon|#cridoff | (optie crid inschakelen|uitschakelen: geef de ClientRequestId weer voordat de aanvraag wordt verzonden) |
FALSE |
#csvheaderson|#csvheadersoff | (optie csvHeaders inschakelen|uitschakelen: kopteksten opnemen in CSV-uitvoer) |
TRUE |
#focuson|#focusoff | (optie focus inschakelen|uitschakelen: verwijder alle extra pluisjes en richt u op de juiste dingen) |
FALSE |
#linemode|#blockmode | (optie lineMode voor inschakelen|uitschakelen: invoermodus met één regel) |
TRUE |
#markdownon|#markdownoff | (optie markdownView voor inschakelen|uitschakelen: tabellen opmaken als MarkDown) |
FALSE |
#marson|#marsoff | (optie marsView inschakelen|uitschakelen: de op een na laatste resultatensets weergeven) |
FALSE |
#prettyon|#prettyoff | (optie prettyErrors voor inschakelen|uitschakelen: fouten opschonen) |
TRUE |
#querystreamingon|#querystreamingoff | (optie queryStreaming inschakelen|uitschakelen: het eindpunt queryStreaming gebruiken (alleen Kusto-team)) |
FALSE |
#resultson|#resultsoff | (optie outputResultsSet inschakelen|uitschakelen: de resultatensets weergeven) |
TRUE |
#tableon|#tableoff | (optie tableView inschakelen|uitschakelen: Resultatensets opmaken als tabellen) |
TRUE |
#timeon|#timeoff | (optie timing inschakelen|uitschakelen: de hoeveelheid tijd weergeven die de aanvragen hebben geduurd) |
TRUE |
#typeon|#typeoff | (optie typeView inschakelen|uitschakelen: geef het type van elke kolom in de tabelweergave weer. Dwingt streaming = waar) |
TRUE |
#v2protocolon|#v2protocoloff | (optie v2protocol inschakelen|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.
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor