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.exeConnectionString [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 ou false, 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 ou false, 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 ou false, 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 definido falsecomo , 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
keTexto Envia o texto especificado para um Kusto em execução. Explorer processo
#loopContarTexto 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
#saveFilename Os resultados da próxima consulta ou comando serão salvos no arquivo CSV indicado
#scriptFilename Executa o script indicado
#scriptmlFilename 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 timingenable/disable: exibir o tempo que as solicitações levaram TRUE
#tableon|#tableoff opção tableViewenable/disable: formatar conjuntos de resultados como tabelas TRUE
#marson|#marsoff opção marsViewenable/disable: exibir os conjuntos de resultados de segundo a último FALSE
#resultson|#resultsoff opção outputResultsSetenable/disable: exibir os conjuntos de resultados TRUE
#prettyon|#prettyoff opção prettyErrorsenable/disable: limpar erros TRUE
#markdownon|#markdownoff opção markdownViewenable/disable: formatar tabelas como MarkDown FALSE
#progressiveon|#progressiveoff opção progressiveViewenable/disable: solicitar e exibir resultados progressivos FALSE
#linemode|#blockmode opção lineModeenable/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.