Интерфейс командной строки Kusto
Kusto.Cli — это служебная программа командной строки для отправки запросов и команд управления в кластере Kusto. Он может работать в одном из нескольких режимов:
Режим REPL: пользователь вводит запросы и команды, а средство отображает результаты, а затем ожидает следующего запроса или команды пользователя. (REPL означает read/eval/print/loop.)
Режим выполнения. Пользователь вводит один или несколько запросов и команд для выполнения в качестве аргументов командной строки. Аргументы автоматически выполняются последовательно, а их результаты выводятся в консоль. При необходимости после выполнения всех входных запросов и команд средство переходит в режим REPL.
Режим скрипта: аналогичен режиму выполнения, но с запросами и командами, указанными в файле ("скрипт"), а не через аргументы командной строки.
Kusto.Cli в основном предоставляется для автоматизации задач в службе Kusto, которая обычно требует написания кода. Например, программа C# или скрипт PowerShell.
Скачать средство упаковки
Kusto.Cli является частью пакета Microsoft.Azure.Kusto.Tools
NuGet, который можно скачать для .NET. После скачивания пакета извлеките папку пакета tools
в целевую папку. Дополнительная установка не требуется, так как она доступна для установки xcopy.
Запуск средства
Для выполнения Kusto.Cli требуется по крайней мере один аргумент командной строки. Как правило, этот аргумент является строка подключения к службе Kusto, к которому должно подключиться средство.
Дополнительные сведения см. в статье Строки подключения Kusto. Если запустить средство без аргументов командной строки, с неизвестным набором аргументов или с /help
параметром , на консоли отобразится справочное сообщение.
Например, используйте следующую команду для запуска Kusto.Cli. Команда подключится к help
службе Kusto и установит контекст базы данных для Samples
базы данных:
Kusto.Cli.exe "https://help.kusto.windows.net/Samples;Fed=true"
Примечание
Используйте двойные кавычки вокруг строка подключения, чтобы приложения оболочки, такие как PowerShell, неправильно интерпретировали точку с запятой (;
) и аналогичные символы.
Аргументы командной строки
(Чтобы получить исчерпывающий список аргументов командной строки, выполните команду . Kusto.Cli.exe -help
)
Kusto.Cli.exe
ConnectionString [Переключатели]
Connectionstring
- Строка подключения Kusto, содержащий все сведения о подключении Kusto.
По умолчанию —
net.tcp://localhost/NetDefaultDB
.
-execute:
QueryOrCommand
- Если этот параметр указан, выполняет Kusto.Cli в режиме выполнения и выполняется указанный запрос или команда. Этот параметр может повторяться, и запросы и команды выполняются последовательно в порядке внешнего вида.
Этот параметр нельзя использовать вместе с
-script
или-scriptml
.
-keepRunning:
EnableKeepRunning
- Если он указан как
true
илиfalse
, он включает или отключает режим REPL после обработки всех-script
значений или-execute
.
-script:
ScriptFile
- Если этот параметр указан, запускает Kusto.Cli в режиме скрипта. Загружается указанный файл скрипта, а запросы или команды в нем выполняются последовательно.
Новые строки используются для разделения запросов и команд, за исключением случаев, когда строки заканчиваются сочетанием
&
или&&
, как описано ниже. Этот параметр нельзя использовать вместе с-execute
.
-scriptml:
ScriptFile
- Если этот параметр указан, запускает Kusto.Cli в режиме скрипта. Загружается указанный файл скрипта, а запросы или команды в нем выполняются последовательно.
Весь файл скрипта считается одним запросом или командой (игнорируя режим ввода строки или режим блочного ввода). Этот параметр нельзя использовать вместе с
-execute
.
-scriptQuitOnError:
QuitOnFirstScriptError
- Если этот параметр включен, Kusto.Cli завершит работу, если команда или запрос в скрипте приводят к ошибке. Если этот параметр отключен, выполнение скрипта продолжится, несмотря на ошибки. По умолчанию этот параметр включен.
-echo:
EnableEchoMode
- Если этот параметр указан как
true
илиfalse
, он включает или отключает режим эха. Если включен режим эха, каждый запрос или команда повторяются в выходных данных.
-transcript:
TranscriptFile
- Если этот параметр указан, записывает выходные данные программы в TranscriptFile.
-logToConsole:
EnableLogToConsole
- Если задано значение
true
илиfalse
, он включает или отключает отображение выходных данных программы на консоли.
-lineMode:
EnableLineMode
- Определяет, как обрабатываются новые строки при вводе запросов или команд из консоли или из скриптов. По умолчанию (или если явно задано значение
true
), средство использует режим ввода строки. Если задано значениеfalse
, скрипты считываются в режиме блочного ввода. Описание этих двух режимов см. ниже.
Пример
Kusto.Cli.exe "https://help.kusto.windows.net/Samples;Fed=true" -script:"c:\mycommands.txt"
Примечание
Между двоеточием и значением аргумента не должно быть пробела.
Директивы
Kusto.Cli выполняет ряд директив в средстве, а не отправляет их в службу для обработки.
Директива | Описание |
---|---|
? #h #help |
Получение краткого справочного сообщения |
q #quit #exit |
Выход из средства |
#a #abort |
Завершение работы средства |
#clip |
Результаты следующего запроса или команды будут скопированы в буфер обмена. |
#cls |
Очистка экрана консоли |
#connect [ConnectionString] |
Подключается к другой службе Kusto (если строка подключения опущена, отображается текущая). |
#crp [Имя [= значение]] |
Задает значение свойства запроса клиента либо просто отображает его, либо отображает все значения. |
#crp (-list | -doc ) [Префикс] |
Список свойств запроса клиента, по префиксу или по всем |
#dbcontext [Имя_базы данных] |
Изменяет базу данных контекста, используемую запросами и командами, на DatabaseName. Если этот параметр опущен, отображается текущий контекст. |
ke Текст |
Отправляет указанный текст в выполняющийся kusto. процесс Обозреватель |
#loop Подсчеттекста |
Выполняет текст несколько раз |
#qp [Имя [= значение]] |
Задает значение параметра запроса либо просто отображает его, либо отображает все значения. Одинарные и двойные кавычки в начале и конце будут обрезаны |
#save Имени файла |
Результаты следующего запроса или команды будут сохранены в указанный CSV-файл. |
#script Имени файла |
Выполняет указанный скрипт. |
#scriptml Имени файла |
Выполняет указанный многостроковый скрипт |
Режим ввода строки и режим блочного ввода
По умолчанию Kusto.Cli работает в режиме ввода строки. Каждый символ новой строки интерпретируется как разделитель между запросами и командами, и строка немедленно отправляется на выполнение.
В этом режиме можно разбить длинный запрос или команду на несколько строк. Символ &
в качестве последнего символа строки перед новой строкой заставляет Kusto.Cli продолжить чтение следующей строки. Символ &&
в качестве последнего символа строки перед новой строкой приводит к тому, что Kusto.Cli игнорирует новую строку и продолжает читать следующую строку.
Kusto.Cli также поддерживает выполнение в режиме блочного ввода , указывая -lineMode:false
в командной строке или выполняя директиву #blockmode
. В этом режиме Kusto.Cli ведет себя аналогично Kusto. Обозреватель и Kusto.WebExplorer строки считываются вместе как "блоки", при этом каждый блок состоит из одного запроса или команды, а блоки разделяются одной или несколькими пустыми строками между ними.
Примечание
Режим блочного ввода настоятельно рекомендуется использовать, когда запросы и команды считываются из файла скрипта (-script
).
Комментарии
Kusto.Cli интерпретирует //
строку, которая начинается с новой строки, как строку комментария. Она игнорирует оставшуюся часть строки и продолжает читать следующую строку.
Параметры только для инструментов
Команды | Действие | Настоящее время |
---|---|---|
#timeon|#timeoff | Параметр timing включения и отключения: отображение времени, за которое запросы ушли |
TRUE |
#tableon|#tableoff | параметр tableView enable/disable: форматирование результирующих наборов в виде таблиц |
TRUE |
#marson|#marsoff | параметр marsView enable/disable: отображение результирующих наборов от секунды до последнего |
Ложь. |
#resultson|#resultsoff | параметр outputResultsSet enable/disable: отображение результирующих наборов |
TRUE |
#prettyon|#prettyoff | Параметр prettyErrors включения и отключения: очистка ошибок |
TRUE |
#markdownon|#markdownoff | параметр markdownView enable/disable: форматирование таблиц как MarkDown |
Ложь. |
#progressiveon|#progressiveoff | Параметр progressiveView включения и отключения: запрос и отображение прогрессивных результатов |
Ложь. |
#linemode|#blockmode | параметр lineMode включения и отключения: режим однострочного ввода |
TRUE |
Команды | Действие | Default |
---|---|---|
#cridon|#cridoff | (параметр enable|disable crid : отображение ClientRequestId перед отправкой запроса) |
Ложь. |
#csvheaderson|#csvheadersoff | (включить|отключить параметр csvHeaders : включить заголовки в выходные данные CSV) |
TRUE |
#focuson|#focusoff | (включить|отключить параметр focus : удалите все лишние пуха и сосредоточьтесь на нужных материалах) |
Ложь. |
#linemode|#blockmode | (включить|отключить параметр lineMode : режим однострочного ввода) |
TRUE |
#markdownon|#markdownoff | (параметр enable|disable markdownView : форматирование таблиц как MarkDown) |
Ложь. |
#marson|#marsoff | (параметр enable|disable marsView : отображение результирующих наборов от секунды до последнего) |
Ложь. |
#prettyon|#prettyoff | (включить|отключить параметр prettyErrors : очистка ошибок) |
TRUE |
#querystreamingon|#querystreamingoff | (параметр enable|disable queryStreaming : используйте конечную точку queryStreaming (только для команды Kusto)) |
Ложь. |
#resultson|#resultsoff | (параметр enable|disable outputResultsSet : отображение результирующих наборов) |
TRUE |
#tableon|#tableoff | (параметр enable|disable tableView : форматирование результирующих наборов в виде таблиц) |
TRUE |
#timeon|#timeoff | (параметр timing enable|disable: отображение количества времени, которое потребовалось для запросов) |
TRUE |
#typeon|#typeoff | (параметр enable|disable typeView : отображение типа каждого столбца в представлении таблицы. Принудительное потоковое=true) |
TRUE |
#v2protocolon|#v2protocoloff | (параметр enable|disable v2protocol : используйте протокол запроса версии 2, а не версию 1) |
TRUE |
Экспорт результатов в формате CSV с помощью Kusto.Cli
В Kusto.Cli есть специальная команда на стороне клиента, #save
которая экспортирует результаты следующего запроса в локальный файл в формате CSV. Например, следующая строка экспортирует 10 записей из StormEvents
таблицы в help.kusto.windows.net
кластер базы Samples
данных:
Kusto.Cli.exe @help/Samples -execute:"#save c:\temp\test.log" -execute:"StormEvents | take 10"
Используйте Kusto.Cli для управления запущенным экземпляром Kusto. Обозреватель
Вы можете указать Kusto.Cli для взаимодействия с "основным" экземпляром Kusto. Обозреватель на компьютере и отправлять ему запросы. Этот механизм может быть полезен для программ, которые хотят выполнять ряд запросов, но не хотят запускать Kusto. Обозреватель процесс несколько раз. В следующем примере Kusto.Cli используется для выполнения запроса к кластеру справки:
#connect cluster('help').database('Samples')
#ke StormEvents | count
Синтаксис прост: #ke
, за которым следует пробел, и запрос для выполнения.
Затем запрос отправляется в основной экземпляр Kusto. Обозреватель, если таковой существует, с текущим кластером или базой данных, заданным в Kusto.Cli.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по