Interfejs wiersza polecenia usługi Kusto

Kusto.Cli to narzędzie wiersza polecenia do wysyłania zapytań i poleceń sterujących w klastrze Kusto. Można go uruchomić w jednym z kilku trybów:

  • Tryb REPL: użytkownik wprowadza zapytania i polecenia, a narzędzie wyświetla wyniki, a następnie oczekuje na następne zapytanie użytkownika/polecenie. ("REPL" oznacza "read/eval/print/loop".

  • Tryb wykonywania: użytkownik wprowadza co najmniej jedno zapytanie i polecenia do uruchomienia jako argumenty wiersza polecenia. Argumenty są automatycznie uruchamiane w sekwencji, a ich wyniki są zwracane do konsoli. Opcjonalnie po uruchomieniu wszystkich zapytań wejściowych i poleceń narzędzie przechodzi w tryb REPL.

  • Tryb skryptu: podobnie jak w trybie wykonywania, ale z zapytaniami i poleceniami określonymi w pliku ("skrypt") zamiast za pomocą argumentów wiersza polecenia.

Interfejs Kusto.Cli jest dostarczany głównie do automatyzowania zadań w usłudze Kusto, która zwykle wymaga pisania kodu. Na przykład program w języku C# lub skrypt programu PowerShell.

Pobieranie narzędzia

Kusto.Cli jest częścią pakietu Microsoft.Azure.Kusto.Tools NuGet, który można pobrać dla platformy .NET. Po pobraniu pakietu wyodrębnij folder pakietu tools do folderu docelowego. Nie jest wymagana żadna dodatkowa instalacja, ponieważ można ją zainstalować za pomocą narzędzia xcopy.

Uruchamianie narzędzia

Interfejs Kusto.Cli wymaga uruchomienia co najmniej jednego argumentu wiersza polecenia. Zazwyczaj argumentem jest parametry połączenia z usługą Kusto, z którą narzędzie powinno nawiązać połączenie. Aby uzyskać więcej informacji, zobacz Kusto connection strings (Parametry połączenia usługi Kusto). Jeśli uruchomisz narzędzie bez argumentów wiersza polecenia, z nieznanym zestawem argumentów lub przełącznikiem /help , w konsoli zostanie wyświetlony komunikat pomocy.

Na przykład użyj następującego polecenia, aby uruchomić interfejs wiersza polecenia Kusto.Cli. Polecenie połączy się z usługą help Kusto i ustawi kontekst bazy danych na Samples bazę danych:

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

Uwaga

Użyj podwójnych cudzysłowów wokół parametry połączenia, aby uniemożliwić aplikacjom powłoki, takim jak program PowerShell, błędne interpretowanie średnika (;) i podobnych znaków.

Argumenty wiersza polecenia

(Aby uzyskać wyczerpującą listę argumentów wiersza polecenia, uruchom polecenie: Kusto.Cli.exe -help.)

Kusto.Cli.exeConnectionString [przełączniki]

Connectionstring

  • Usługa Kusto parametry połączenia zawierająca wszystkie informacje o połączeniu usługi Kusto. Wartość domyślna to net.tcp://localhost/NetDefaultDB.

-execute:QueryOrCommand

  • W przypadku wybrania polecenia uruchom polecenie Kusto.Cli w trybie wykonywania, a określone zapytanie lub polecenie zostanie uruchomione. Ten przełącznik może się powtarzać, a zapytania/polecenia są uruchamiane sekwencyjnie w kolejności wyglądu. Tego przełącznika nie można używać razem z programem -script lub -scriptml.

-keepRunning:EnableKeepRunning

  • Jeśli określono wartość lub truefalse, włącza lub wyłącza tryb REPL po przetworzeniu wszystkich -script lub -execute wartości.

-script:ScriptFile

  • Jeśli zostanie określony, program Kusto.Cli zostanie uruchomiony w trybie skryptu. Określony plik skryptu jest ładowany, a zapytania lub polecenia w nim są uruchamiane sekwencyjnie. Nowe linie są używane do rozdzielania zapytań/poleceń, z wyjątkiem sytuacji, gdy wiersze kończą się kombinacją & lub && , jak wyjaśniono poniżej. Tego przełącznika nie można używać razem z -execute.

-scriptml:ScriptFile

  • Jeśli zostanie określony, program Kusto.Cli zostanie uruchomiony w trybie skryptu. Określony plik skryptu jest ładowany, a zapytania lub polecenia w nim są uruchamiane sekwencyjnie. Cały plik skryptu jest uważany za pojedyncze zapytanie lub polecenie (ignorując tryb wprowadzania wiersza lub zagadnienia dotyczące trybu wprowadzania blokowego). Tego przełącznika nie można używać razem z -execute.

-scriptQuitOnError:QuitOnFirstScriptError

  • W przypadku włączenia interfejsu Kusto.Cli zakończy działanie, jeśli polecenie lub zapytanie w skrycie spowoduje wystąpienie błędu. Jeśli to ustawienie jest wyłączone, wykonywanie skryptu będzie kontynuowane pomimo błędów. Domyślnie ten przełącznik jest włączony.

-echo:EnableEchoMode

  • Jeśli określono wartość lub truefalse, włącza lub wyłącza tryb echa. Po włączeniu trybu echa każde zapytanie lub polecenie jest powtarzane w danych wyjściowych.

-transcript:TranskrypcjaPlik

  • Jeśli zostanie określony, program zapisuje dane wyjściowe programu do pliku TranscriptFile.

-logToConsole:EnableLogToConsole

  • Jeśli określono wartość lub truefalse, włącza lub wyłącza wyświetlanie danych wyjściowych programu w konsoli programu.

-lineMode:Tryb EnableLineMode

  • Określa sposób traktowania nowych linii podczas wprowadzania zapytań lub poleceń z konsoli lub skryptów. Domyślnie (lub jeśli jawnie ustawiono truewartość ), narzędzie używa trybu wprowadzania wierszy. Jeśli ustawiono wartość false, skrypty są odczytywane w trybie "blokuj dane wejściowe". Poniżej przedstawiono wyjaśnienie tych dwóch trybów.

Przykład

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

Uwaga

Nie powinno być spacji między dwukropkiem a wartością argumentu

Dyrektyw

Interfejs wiersza polecenia Kusto.Cli uruchamia szereg dyrektyw w narzędziu zamiast wysyłać je do usługi w celu przetworzenia.

Dyrektywy Opis
?
#h
#help
Uzyskiwanie krótkiego komunikatu pomocy
q
#quit
#exit
Zamknij narzędzie
#a
#abort
Przerywanie zamykania narzędzia
#clip Wyniki następnego zapytania lub polecenia zostaną skopiowane do schowka
#cls Wyczyść ekran konsoli
#connect[ConnectionString] Nawiązuje połączenie z inną usługą Kusto (jeśli parametr ConnectionString zostanie pominięty, zostanie wyświetlony bieżący)
#crp [Name [=Value]] Ustawia wartość właściwości żądania klienta lub po prostu wyświetla ją lub wyświetla wszystkie wartości
#crp (-list | -doc) [Prefiks] Wyświetla listę właściwości żądania klienta, według prefiksu lub wszystkich
#dbcontext [DatabaseName] Zmienia bazę danych "kontekstu" używaną przez zapytania i polecenia na DatabaseName. Jeśli pominięto, bieżący kontekst jest wyświetlany
keTekst Wysyła określony tekst do uruchomionego procesu Kusto.Explorer
#loopZlicztekst Uruchamia tekst wielokrotnie
#qp [Name [=Value]] Ustawia wartość parametru zapytania lub po prostu wyświetla ją lub wyświetla wszystkie wartości. Apostrofy na początku/na końcu zostaną przycięte
#savePod nazwą Wyniki następnego zapytania lub polecenia zostaną zapisane w wskazanym pliku CSV
#scriptPod nazwą Wykonuje wskazany skrypt
#scriptmlPod nazwą Wykonuje wskazany skrypt wielowierszowy

Tryb wprowadzania linii i tryb wprowadzania blokowego

Domyślnie interfejs Kusto.Cli działa w trybie wprowadzania wierszy. Każdy znak nowego wiersza jest interpretowany jako ogranicznik między zapytaniami/poleceniami, a wiersz jest natychmiast wysyłany do wykonania.

W tym trybie można podzielić długie zapytanie lub polecenie na wiele wierszy. Znak & jako ostatni znak wiersza, przed nowym wierszem, powoduje, że interfejs Kusto.Cli będzie kontynuować odczytywanie następnego wiersza. Znak && jako ostatni znak wiersza, przed nowym wierszem, powoduje, że interfejs Kusto.Cli ignoruje nowy wiersz i kontynuuj czytanie następnego wiersza.

Interfejs Kusto.Cli obsługuje również uruchamianie w trybie wprowadzania bloków , określając -lineMode:false w wierszu polecenia lub wykonując dyrektywę #blockmode. W tym trybie interfejs Kusto.Cli działa podobnie do kusto.Explorer i Kusto.WebExplorer, w tych wierszach są odczytywane razem jako "bloki", z każdym blokiem składającym się z jednego zapytania lub polecenia, a bloki są rozdzielane przez co najmniej jeden pusty wiersz między nimi.

Uwaga

Użycie trybu wprowadzania bloków jest zdecydowanie zalecane, gdy zapytania/polecenia są odczytywane z pliku skryptu (-script).

Komentarze

Kusto.Cli interpretuje // ciąg, który rozpoczyna nowy wiersz jako wiersz komentarza. Ignoruje resztę wiersza i kontynuuje odczytywanie następnego wiersza.

Opcje tylko dla narzędzi

Polecenia Efekt Obecnie
#timeon|#timeoff opcja timingwłączania/wyłączania: wyświetlanie żądań dotyczących czasu, które zajęły TRUE
#tableon|#tableoff opcja tableViewwłączania/wyłączania: formatowanie zestawów wyników jako tabel TRUE
#marson|#marsoff opcja marsViewwłączania/wyłączania: wyświetla zestawy wyników od sekundy do ostatniego FALSE
#resultson|#resultsoff opcja outputResultsSetwłączania/wyłączania: wyświetlanie zestawów wyników TRUE
#prettyon|#prettyoff opcja prettyErrorswłączania/wyłączania: Czyszczenie błędów TRUE
#markdownon|#markdownoff opcja markdownViewwłączania/wyłączania: formatuj tabele jako MarkDown FALSE
#progressiveon|#progressiveoff opcja progressiveViewwłączania/wyłączania: pytaj i wyświetlaj wyniki progresywne FALSE
#linemode|#blockmode opcja lineModewłączania/wyłączania: tryb wprowadzania jednowierszowego TRUE
Polecenia Efekt Default
#cridon|#cridoff (włącz|wyłącz opcję crid: wyświetl identyfikator ClientRequestId przed wysłaniem żądania) FALSE
#csvheaderson|#csvheadersoff (włącz|wyłącz opcję csvHeaders: uwzględnij nagłówki w danych wyjściowych CSV) TRUE
#focuson|#focusoff (włącz|wyłącz opcję focus: Usuń wszystkie dodatkowe puchy i skupić się na odpowiednich rzeczach) FALSE
#linemode|#blockmode (włącz|wyłącz opcję lineMode: tryb wprowadzania jednowierszowego) TRUE
#markdownon|#markdownoff (włącz|wyłącz opcję markdownView: Formatuj tabele jako MarkDown) FALSE
#marson|#marsoff (włącz|wyłącz opcję marsView: Wyświetl zestawy wyników od sekundy do ostatniego) FALSE
#prettyon|#prettyoff (włącz|wyłącz opcję prettyErrors: Czyszczenie błędów) TRUE
#querystreamingon|#querystreamingoff (włącz|wyłącz opcję queryStreaming: Użyj punktu końcowego queryStreaming (tylko zespół Kusto)) FALSE
#resultson|#resultsoff (włącz|wyłącz opcję outputResultsSet: Wyświetl zestawy wyników) TRUE
#tableon|#tableoff (włącz|wyłącz opcję tableView: Formatuj zestawy wyników jako tabele) TRUE
#timeon|#timeoff (włącz|wyłącz opcję timing: wyświetl czas, przez który odebrały żądania) TRUE
#typeon|#typeoff (włącz|wyłącz opcję typeView: wyświetl typ każdej kolumny w widoku tabeli. Wymusza przesyłanie strumieniowe =true) TRUE
#v2protocolon|#v2protocoloff (włącz|wyłącz opcję v2protocol: użyj protokołu zapytania w wersji 2, a nie w wersji 1) TRUE

Eksportowanie wyników jako pliku CSV przy użyciu interfejsu Kusto.Cli

Kusto.Cli ma specjalne polecenie po stronie klienta, #save które eksportuje kolejne wyniki zapytania do pliku lokalnego w formacie CSV. Na przykład następujący wiersz spowoduje wyeksportowanie 10 rekordów z StormEvents tabeli do klastra help.kusto.windows.net , Samples bazy danych:

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

Używanie interfejsu Kusto.Cli do kontrolowania uruchomionego wystąpienia narzędzia Kusto.Explorer

Możesz poinstruować interfejs Kusto.Cli, aby komunikował się z "podstawowym" wystąpieniem narzędzia Kusto.Explorer uruchomionym na maszynie i wysyłać zapytania. Ten mechanizm może być przydatny w przypadku programów, które chcą uruchamiać wiele zapytań, ale nie chcą wielokrotnie uruchamiać procesu Kusto.Explorer. W poniższym przykładzie narzędzie Kusto.Cli służy do uruchamiania zapytania względem klastra pomocy:

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

#ke StormEvents | count

Składnia jest prosta: #ke, a następnie białe znaki i zapytanie do uruchomienia. Zapytanie jest następnie wysyłane do podstawowego wystąpienia narzędzia Kusto.Explorer, jeśli istnieje, z bieżącym klastrem/bazą danych ustawioną w interfejsie Kusto.Cli.