CLI Kusto
O Kusto.Cli é um utilitário de linha de comando para enviar consultas e comandos de controle em um cluster Kusto. Ele pode ser executado em um dos vários modos:
Modo REPL: o usuário insere consultas e comandos e a ferramenta exibe os resultados e aguarda a próxima consulta/comando do usuário. ("REPL" significa "read/eval/print/loop".)
Modo de execução: o usuário insere uma ou mais consultas e comandos a serem executados como argumentos de linha de comando. Os argumentos são executados automaticamente em sequência e seus resultados são gerados para o console. Opcionalmente, depois que todas as consultas de entrada e comandos tiverem sido executados, a ferramenta entrará no modo REPL.
Modo de script: semelhante ao modo de execução, mas com as consultas e comandos especificados em um arquivo (o "script") em vez de por meio de argumentos de linha de comando.
O Kusto.Cli é fornecido principalmente para automatizar tarefas em um serviço Kusto que normalmente requer a escrita de código. Por exemplo, um programa C# ou um script do PowerShell.
Obter a ferramenta
O Kusto.Cli faz parte do pacote Microsoft.Azure.Kusto.Tools
NuGet que você pode baixar para .NET. Depois de baixar o pacote, extraia a pasta do tools
pacote para a pasta de destino. Nenhuma instalação adicional é necessária porque é xcopy-installable.
Executar a ferramenta
O Kusto.Cli requer pelo menos um argumento de linha de comando para ser executado. Normalmente, esse argumento é o cadeia de conexão ao serviço Kusto ao qual a ferramenta deve se conectar.
Para obter mais informações, consulte Cadeias de conexão do Kusto. Se você executar a ferramenta sem argumentos de linha de comando, com um conjunto desconhecido de argumentos ou com a opção /help
, uma mensagem de ajuda será exibida no console.
Por exemplo, use o comando a seguir para executar o Kusto.Cli. O comando se conectará ao help
serviço Kusto e definirá o contexto do banco de dados para o Samples
banco de dados:
Kusto.Cli.exe "https://help.kusto.windows.net/Samples;Fed=true"
Observação
Use aspas duplas ao redor do cadeia de conexão para impedir que aplicativos de shell, como o PowerShell, interpretem incorretamente o ponto e vírgula (;
) e caracteres semelhantes.
Argumentos de linha de comando
(Para obter uma lista completa de argumentos de linha de comando, execute: Kusto.Cli.exe -help
.)
Kusto.Cli.exe
ConnectionString [Switches]
ConnectionString
- O cadeia de conexão Kusto que contém todas as informações de conexão do Kusto.
Assume o padrão de
net.tcp://localhost/NetDefaultDB
.
-execute:
QueryOrCommand
- Se especificado, executa o Kusto.Cli no modo de execução e a consulta ou o comando especificado é executado. Essa opção pode se repetir e as consultas/comandos são executados sequencialmente em ordem de aparência.
Essa opção não pode ser usada junto com
-script
ou-scriptml
.
-keepRunning:
EnableKeepRunning
- Se especificado, como
true
oufalse
, ele habilita ou desabilita o modo REPL depois que todos os-script
valores ou-execute
foram processados.
-script:
ScriptFile
- Se especificado, executa Kusto.Cli no modo de script. O arquivo de script especificado é carregado e as consultas ou comandos nele são executados sequencialmente.
As novas linhas são usadas para delimitar consultas/comandos, exceto quando as linhas terminam com uma
&
combinação ou&&
, conforme explicado abaixo. Essa opção não pode ser usada junto com-execute
.
-scriptml:
ScriptFile
- Se especificado, executa Kusto.Cli no modo de script. O arquivo de script especificado é carregado e as consultas ou comandos nele são executados sequencialmente.
Todo o arquivo de script é considerado uma única consulta ou comando (ignorando o modo de entrada de linha ou as considerações sobre o modo de entrada de bloco).) Essa opção não pode ser usada junto com
-execute
.
-scriptQuitOnError:
QuitOnFirstScriptError
- Se habilitado, o Kusto.Cli será encerrado se um comando ou consulta em um script resultar em um erro. Se desabilitada, a execução do script continuará apesar dos erros. Por padrão, essa opção está habilitada.
-echo:
EnableEchoMode
- Se especificado, como
true
oufalse
, ele habilita ou desabilita o modo de eco. Quando o modo de eco está habilitado, cada consulta ou comando é repetido na saída.
-transcript:
TranscriptFile
- Se especificado, grava a saída do programa em TranscriptFile.
-logToConsole:
EnableLogToConsole
- Se especificado, como
true
oufalse
, ele habilita ou desabilita a exibição da saída do programa no console.
-lineMode:
EnableLineMode
- Determina como as novas linhas são tratadas ao inserir consultas ou comandos do console ou de scripts. Por padrão (ou se definido explicitamente como
true
), a ferramenta usa "modo de entrada de linha". Se definidofalse
como , os scripts serão lidos no "modo de entrada de bloco". Veja abaixo uma explicação desses dois modos.
Exemplo
Kusto.Cli.exe "https://help.kusto.windows.net/Samples;Fed=true" -script:"c:\mycommands.txt"
Observação
Não deve haver espaço entre os dois-pontos e o valor do argumento
Diretivas
O Kusto.Cli executa várias diretivas na ferramenta em vez de enviá-las ao serviço para processamento.
Diretiva | Descrição |
---|---|
? #h #help |
Obter uma breve mensagem de ajuda |
q #quit #exit |
Sair da ferramenta |
#a #abort |
Sair da ferramenta abortivamente |
#clip |
Os resultados da próxima consulta ou comando serão copiados para a área de transferência |
#cls |
Limpar a tela do console |
#connect [ConnectionString] |
Conecta-se a um serviço Kusto diferente (se ConnectionString for omitido, o atual será exibido) |
#crp [Nome [= Valor]] |
Define o valor de uma propriedade de solicitação de cliente ou apenas a exibe ou exibe todos os valores |
#crp (-list | -doc ) [Prefixo] |
Lista propriedades de solicitação de cliente, por prefixo ou todos |
#dbcontext [DatabaseName] |
Altera o banco de dados de "contexto" usado por consultas e comandos para DatabaseName. Se omitido, o contexto atual será exibido |
ke Texto |
Envia o texto especificado para um Kusto em execução. Explorer processo |
#loop ContarTexto |
Executa o texto várias vezes |
#qp [Nome [= Valor]] |
Define o valor de um parâmetro de consulta ou apenas o exibe ou exibe todos os valores. As aspas simples/duplas no início/final serão cortadas |
#save Filename |
Os resultados da próxima consulta ou comando serão salvos no arquivo CSV indicado |
#script Filename |
Executa o script indicado |
#scriptml Filename |
Executa o script multilinha indicado |
Modo de entrada de linha e modo de entrada de bloco
Por padrão, o Kusto.Cli é executado no modo de entrada de linha. Cada caractere de nova linha é interpretado como um delimitador entre consultas/comandos e a linha é enviada imediatamente para execução.
Nesse modo, você pode dividir uma consulta longa ou um comando em várias linhas. O &
caractere como o último caractere de uma linha, antes da nova linha, faz com que Kusto.Cli continue lendo a próxima linha. O &&
caractere como o último caractere de uma linha, antes da nova linha, faz com que Kusto.Cli ignore a nova linha e continue lendo a próxima linha.
O Kusto.Cli também dá suporte à execução no modo de entrada de bloco especificando -lineMode:false
na linha de comando ou executando a diretiva .#blockmode
Nesse modo, o Kusto.Cli se comporta de maneira semelhante ao Kusto. Explorer e Kusto.WebExplorer, em que as linhas são lidas juntas como "blocos", com cada bloco que consiste em uma única consulta ou comando, e os blocos são delimitados por uma ou mais linhas vazias entre elas.
Observação
O uso do modo de entrada de bloco é altamente recomendado quando consultas/comandos são lidos de um arquivo de script (-script
).
Comentários
Kusto.Cli interpreta uma //
cadeia de caracteres que começa uma nova linha como uma linha de comentário. Ele ignora o restante da linha e continua lendo a próxima linha.
Opções somente ferramentas
Comandos | Efeito | Atualmente |
---|---|---|
#timeon|#timeoff | opção timing enable/disable: exibir o tempo que as solicitações levaram |
TRUE |
#tableon|#tableoff | opção tableView enable/disable: formatar conjuntos de resultados como tabelas |
TRUE |
#marson|#marsoff | opção marsView enable/disable: exibir os conjuntos de resultados de segundo a último |
FALSE |
#resultson|#resultsoff | opção outputResultsSet enable/disable: exibir os conjuntos de resultados |
TRUE |
#prettyon|#prettyoff | opção prettyErrors enable/disable: limpar erros |
TRUE |
#markdownon|#markdownoff | opção markdownView enable/disable: formatar tabelas como MarkDown |
FALSE |
#progressiveon|#progressiveoff | opção progressiveView enable/disable: solicitar e exibir resultados progressivos |
FALSE |
#linemode|#blockmode | opção lineMode enable/disable: modo de entrada de linha única |
TRUE |
Comandos | Efeito | Default |
---|---|---|
#cridon|#cridoff | (habilitar|desabilitar opção crid : exibir o ClientRequestId antes de enviar a solicitação) |
FALSE |
#csvheaderson|#csvheadersoff | (habilitar|desabilitar opção csvHeaders : incluir cabeçalhos na saída CSV) |
TRUE |
#focuson|#focusoff | (habilitar|desabilitar a opção focus : remova todo o fluff extra e concentre-se no material certo) |
FALSE |
#linemode|#blockmode | (habilitar|desabilitar a opção lineMode : modo de entrada de linha única) |
TRUE |
#markdownon|#markdownoff | (habilitar|desabilitar a opção markdownView : formatar tabelas como MarkDown) |
FALSE |
#marson|#marsoff | (habilitar|desabilitar a opção marsView : exibir os últimos conjuntos de resultados) |
FALSE |
#prettyon|#prettyoff | (habilitar|desabilitar a opção prettyErrors : Limpar erros) |
TRUE |
#querystreamingon|#querystreamingoff | (habilitar|desabilitar opção queryStreaming : use o ponto de extremidade queryStreaming (somente equipe kusto)) |
FALSE |
#resultson|#resultsoff | (habilitar|desabilitar opção outputResultsSet : exibir os conjuntos de resultados) |
TRUE |
#tableon|#tableoff | (habilitar|desabilitar a opção tableView : formatar conjuntos de resultados como tabelas) |
TRUE |
#timeon|#timeoff | (habilitar|desabilitar opção timing : exiba a quantidade de tempo que as solicitações levaram) |
TRUE |
#typeon|#typeoff | (habilitar|desabilitar opção typeView : exiba o tipo de cada coluna no modo de exibição de tabela. Forces Streaming=true) |
TRUE |
#v2protocolon|#v2protocoloff | (habilitar|desabilitar opção v2protocol : use o protocolo de consulta v2, não v1) |
TRUE |
Usar Kusto.Cli para exportar resultados como CSV
O Kusto.Cli tem um comando especial do lado do cliente, #save
que exporta os próximos resultados da consulta para um arquivo local no formato CSV. Por exemplo, a seguinte linha exportará 10 registros da StormEvents
tabela para o cluster, Samples
o help.kusto.windows.net
banco de dados:
Kusto.Cli.exe @help/Samples -execute:"#save c:\temp\test.log" -execute:"StormEvents | take 10"
Use Kusto.Cli para controlar uma instância em execução do Kusto. Explorer
Você pode instruir o Kusto.Cli a se comunicar com a instância "primária" do Kusto. Explorer em execução no computador e envie consultas. Esse mecanismo pode ser útil para programas que desejam executar várias consultas, mas não querem iniciar o Kusto. Explorer processo repetidamente. No exemplo a seguir, o Kusto.Cli é usado para executar uma consulta no cluster de ajuda:
#connect cluster('help').database('Samples')
#ke StormEvents | count
A sintaxe é simples: #ke
, seguida por espaço em branco e a consulta a ser executada.
Em seguida, a consulta é enviada para a instância primária do Kusto. Explorer, se houver, com o cluster/banco de dados atual definido em Kusto.Cli.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de