Политика классификации запросов
Применимо: ✅Microsoft Fabric✅Azure Data Explorer
Процесс классификации назначает входящие запросы группе рабочей нагрузки на основе характеристик запросов. Настройка логики классификации путем написания определяемой пользователем функции в рамках политики классификации запросов на уровне кластера.
Процесс классификации назначает входящие запросы группе рабочей нагрузки на основе характеристик запросов. Настройка логики классификации путем написания определяемой пользователем функции в рамках политики классификации запросов на уровне Eventhouse.
Если политика классификации запросов включена, все запросы классифицируются в группу рабочих нагрузок default
.
Объект Policy
Политика имеет следующие свойства:
-
IsEnabled
:bool
. Указывает, включена ли политика или нет. -
ClassificationFunction
:string
— текст функции, используемой для классификации запросов.
Функция классификации
Классификация входящих запросов основана на определяемой пользователем функции. Результаты функции используются для классификации запросов в существующие группы рабочих нагрузок.
Определяемая пользователем функция имеет следующие характеристики и поведение:
- Если
IsEnabled
задано значениеtrue
в политике, определяемая пользователем функция вычисляется для каждого нового запроса. - Определяемая пользователем функция предоставляет контекст группы рабочей нагрузки для запроса на полное время существования запроса.
- Запрос получает контекст группы рабочей нагрузки
default
в следующих ситуациях:- Определяемая пользователем функция возвращает пустую строку,
default
или имя несуществующей группы рабочей нагрузки. - Функция завершается ошибкой по какой-либо причине.
- Определяемая пользователем функция возвращает пустую строку,
- В любое время можно назначить только одну определяемую пользователем функцию.
Важный
Функция классификации запросов вычисляется для каждого запроса, выполняемого в кластере. Рекомендуется сохранить его как можно проще, а не включать в него тяжелые вычисления. Например, не следует оценивать множество регулярных выражений в рамках его выполнения.
Важный
Функция классификации запросов вычисляется для каждого запроса, выполняемого в хранилище событий. Рекомендуется сохранить его как можно проще, а не включать в него тяжелые вычисления. Например, не следует оценивать множество регулярных выражений в рамках его выполнения.
Требования и ограничения
Функция классификации:
- Должен возвращать одно скалярное значение типа
string
. Это имя группы рабочей нагрузки для назначения запроса. - Не должен ссылаться на другую сущность (базу данных, таблицу или функцию).
- В частности, это может не использовать следующие функции и операторы:
cluster()
database()
table()
external_table()
externaldata
- В частности, это может не использовать следующие функции и операторы:
- Имеет доступ к специальному символу
dynamic
, контейнер свойств с именемrequest_properties
со следующими свойствами:
Имя | Тип | Описание | Примеры |
---|---|---|---|
current_database |
string |
Имя базы данных запроса. | "MyDatabase" |
current_application |
string |
Имя приложения, отправляющего запрос. |
"Kusto.Explorer" , "KusWeb" |
current_principal |
string |
Полное имя удостоверения субъекта, отправляющего запрос. | "aaduser=1793eb1f-4a18-418c-be4c-728e310c86d3;83af1c0e-8c6d-4f09-b249-c67a2e8fda65" |
query_consistency |
string |
Для запросов: согласованность запроса — strongconsistency или weakconsistency . Это свойство задается вызывающим методом как часть свойств запроса запроса: свойство запроса клиента: queryconsistency . |
"strongconsistency" , "weakconsistency" |
request_description |
string |
Пользовательский текст, который может включать автор запроса. Текст задается вызывающим методом в рамках свойств запроса клиента: свойство запроса клиента: request_description . |
"Some custom description" ; автоматическое заполнение панелей мониторинга: "dashboard:{dashboard_id};version:{version};sourceId:{source_id};sourceType:{tile/parameter}" |
request_text |
string |
Скрытый текст запроса. Замаскированные строковые литералы, включенные в текст запроса, заменяются несколькими символами звездочки (* ) .
Примечание. вычисляются только 65 536 символов текста запроса. |
".show version" |
request_type |
string |
Тип запроса — Command или Query . |
"Command" , "Query" |
Заметка
Настройка параметров запроса с помощью инструкций set
не разрешает их классификацию. Параметры необходимо задать в объекте свойств запроса клиента.
Примеры
Одна группа рабочей нагрузки
iff(request_properties.current_application == "Kusto.Explorer" and request_properties.request_type == "Query",
"Ad-hoc queries",
"default")
Несколько групп рабочей нагрузки
case(current_principal_is_member_of('aadgroup=somesecuritygroup@contoso.com'), "First workload group",
request_properties.current_database == "MyDatabase" and request_properties.current_principal has 'aadapp=', "Second workload group",
request_properties.current_application == "Kusto.Explorer" and request_properties.request_type == "Query", "Third workload group",
request_properties.current_application == "Kusto.Explorer", "Third workload group",
request_properties.current_application == "KustoQueryRunner", "Fourth workload group",
request_properties.request_description == "this is a test", "Fifth workload group",
hourofday(now()) between (17 .. 23), "Sixth workload group",
"default")
Команды управления
Используйте следующие команды управления для управления политикой классификации запросов кластера.
Команда | Описание |
---|---|
.alter cluster request classification policy |
Изменение политики классификации запросов кластера |
.alter-merge cluster request classification policy |
Включает или отключает политику классификации запросов кластера |
.delete cluster request classification policy |
Удаляет политику классификации запросов кластера |
.show cluster request classification policy |
Показывает политику классификации запросов кластера |
Используйте следующие команды управления для управления политикой классификации запросов Eventhouse.
Команда | Описание |
---|---|
.alter cluster request classification policy |
Изменение политики классификации запросов Eventhouse |
.alter-merge cluster request classification policy |
Включает или отключает политику классификации запросов Eventhouse |
.delete cluster request classification policy |
Удаляет политику классификации запросов Eventhouse |
.show cluster request classification policy |
Показывает политику классификации запросов Eventhouse |