Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Переключение служб с помощью раскрывающегося списка версий . Дополнительные сведения о навигации.
Область применения: ✅ Microsoft Fabric ✅ Azure Data Explorer
В этой статье описываются команды управления, которые также называются командами управления, используемыми для управления Kusto. Команды управления — это запросы к службе для получения информации, которая не обязательно является данными в таблицах базы данных, или изменение состояния службы и т. д.
Отличие команд управления от запросов
Kusto использует три механизма для различения запросов и команд управления: на уровне языка, на уровне протокола и на уровне API. Это делается для целей безопасности.
На уровне языка первый символ текста запроса определяет, является ли запрос командой управления или запросом. Команды управления должны начинаться с символа точки (.), и запрос не может начинаться с этого символа.
На уровне протокола разные конечные точки HTTP/HTTPS используются для команд управления в отличие от запросов.
На уровне API различные функции используются для отправки команд управления в отличие от запросов.
Объединение запросов и команд управления
Команды управления могут ссылаться на запросы (но не наоборот) или другие команды управления. Существует несколько поддерживаемых сценариев:
- AdminThenQuery: выполняется команда управления, а его результат (представленный в виде временной таблицы данных) служит в качестве входных данных для запроса.
-
AdminFromQuery: выполняется запрос или
.showкоманда администратора, а его результат (представлен как временная таблица данных) служит входными данными для команды управления.
Обратите внимание, что во всех случаях все сочетание технически является командой управления, а не запросом, поэтому текст запроса должен начинаться с символа точки (.) и запрос должен быть отправлен в конечную точку управления службы.
Кроме того, обратите внимание, что инструкции запроса отображаются в части запроса текста (они не могут предшествовать самой команде).
Замечание
Мы рекомендуем ограничить использование операций AdminThenQuery .
AdminThenQuery указывается одним из двух способов:
- С помощью символа канала
|() запрос таким образом обрабатывает результаты команды управления, как если бы это был любой другой оператор запроса, создающий данные. - С помощью символа с запятой (
;), который затем вводит результаты команды управления в специальный символ$command_results, который затем может использоваться в запросе любое количество раз.
Рассмотрим пример.
// 1. Using pipe: Count how many tables are in the database-in-scope:
.show tables
| count
// 2. Using semicolon: Count how many tables are in the database-in-scope:
.show tables;
$command_results
| count
// 3. Using semicolon, and including a let statement:
.show tables;
let useless=(n:string){strcat(n,'-','useless')};
$command_results | extend LastColumn=useless(TableName)
AdminFromQuery обозначается сочетанием символов <| . Например, в следующем примере сначала выполните запрос, который создает таблицу с одним столбцом (именованным str типом string) и одной строкой и записывает ее в качестве имени MyTable таблицы в базе данных в контексте:
.set MyTable <|
let text="Hello, World!";
print str=text