Directiva de clasificación de solicitudes
Se aplica a: ✅Microsoft Fabric✅azure Data Explorer
El proceso de clasificación asigna solicitudes entrantes a un grupo de cargas de trabajo, en función de las características de las solicitudes. Adapte la lógica de clasificación escribiendo una función definida por el usuario, como parte de una directiva de clasificación de solicitudes de nivel de clúster.
El proceso de clasificación asigna solicitudes entrantes a un grupo de cargas de trabajo, en función de las características de las solicitudes. Adapte la lógica de clasificación escribiendo una función definida por el usuario, como parte de una directiva de clasificación de solicitudes de nivel de Eventhouse.
En ausencia de una directiva de clasificación de solicitudes habilitada, todas las solicitudes se clasifican en el grupo de cargas de trabajo default
.
Policy (objeto)
La directiva tiene las siguientes propiedades:
-
IsEnabled
:bool
: indica si la directiva está habilitada o no. -
ClassificationFunction
:string
: el cuerpo de la función que se va a usar para clasificar las solicitudes.
Función de clasificación
La clasificación de las solicitudes entrantes se basa en una función definida por el usuario. Los resultados de la función se usan para clasificar las solicitudes en grupos de cargas de trabajo existentes.
La función definida por el usuario tiene las siguientes características y comportamientos:
- Si
IsEnabled
se establece entrue
en la directiva, la función definida por el usuario se evalúa para cada nueva solicitud. - La función definida por el usuario proporciona contexto de grupo de cargas de trabajo para la solicitud para la duración completa de la solicitud.
- La solicitud recibe el contexto del grupo de cargas de trabajo de
default
en las situaciones siguientes:- La función definida por el usuario devuelve una cadena vacía,
default
o el nombre del grupo de cargas de trabajo inexistente. - Se produce un error en la función por cualquier motivo.
- La función definida por el usuario devuelve una cadena vacía,
- Solo se puede designar una función definida por el usuario en un momento dado.
Importante
La función de clasificación de solicitudes se evalúa para cada solicitud que se ejecuta en el clúster. Se recomienda mantenerlo lo más ligero posible y no incluir cálculos pesados en él. Por ejemplo, evite tener que evaluar muchas expresiones regulares como parte de su ejecución.
Importante
La función de clasificación de solicitudes se evalúa para cada solicitud que se ejecuta en Eventhouse. Se recomienda mantenerlo lo más ligero posible y no incluir cálculos pesados en él. Por ejemplo, evite tener que evaluar muchas expresiones regulares como parte de su ejecución.
Requisitos y limitaciones
Una función de clasificación:
- Debe devolver un único valor escalar de tipo
string
. Es el nombre del grupo de cargas de trabajo al que asignar la solicitud. - No debe hacer referencia a ninguna otra entidad (base de datos, tabla o función).
- En concreto, es posible que no use las siguientes funciones y operadores:
cluster()
database()
table()
external_table()
externaldata
- En concreto, es posible que no use las siguientes funciones y operadores:
- Tiene acceso a un símbolo de
dynamic
especial, un contenedor de propiedades denominadorequest_properties
, con las siguientes propiedades:
Nombre | Tipo | Descripción | Ejemplos |
---|---|---|---|
current_database |
string |
Nombre de la base de datos de solicitudes. | "MyDatabase" |
current_application |
string |
Nombre de la aplicación que envió la solicitud. |
"Kusto.Explorer" , "KusWeb" |
current_principal |
string |
Nombre completo de la identidad de entidad de seguridad que envió la solicitud. | "aaduser=1793eb1f-4a18-418c-be4c-728e310c86d3;83af1c0e-8c6d-4f09-b249-c67a2e8fda65" |
query_consistency |
string |
Para las consultas: la coherencia de la consulta: strongconsistency o weakconsistency . El autor de la llamada establece esta propiedad como parte de las propiedades de solicitud de la solicitud: la propiedad de solicitud de cliente que se va a establecer es: queryconsistency . |
"strongconsistency" , "weakconsistency" |
request_description |
string |
Texto personalizado que el autor de la solicitud puede incluir. El autor de la llamada establece el texto como parte de las propiedades de solicitud de cliente de la solicitud de cliente: la propiedad de solicitud de cliente que se va a establecer es: request_description . |
"Some custom description" ; rellenados automáticamente para los paneles: "dashboard:{dashboard_id};version:{version};sourceId:{source_id};sourceType:{tile/parameter}" |
request_text |
string |
Texto ofuscado de la solicitud. Los literales de cadena ofuscados incluidos en el texto de consulta se reemplazan por varios caracteres de estrella (* ).
Nota: solo se evalúan los 65 536 caracteres iniciales del texto de la solicitud. |
".show version" |
request_type |
string |
Tipo de la solicitud: Command o Query . |
"Command" , "Query" |
Nota
Establecer las opciones de solicitud mediante instrucciones set
no permite la clasificación por ellos. Las opciones deben establecerse en el objeto de propiedades de solicitud de cliente.
Ejemplos
Un único grupo de cargas de trabajo
iff(request_properties.current_application == "Kusto.Explorer" and request_properties.request_type == "Query",
"Ad-hoc queries",
"default")
Varios grupos de cargas de trabajo
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")
Comandos de administración
Use los siguientes comandos de administración para administrar la directiva de clasificación de solicitudes de un clúster.
Mandar | Descripción |
---|---|
.alter cluster request classification policy |
Modifica la directiva de clasificación de solicitudes del clúster |
.alter-merge cluster request classification policy |
Habilita o deshabilita la directiva de clasificación de solicitudes de un clúster |
.delete cluster request classification policy |
Elimina la directiva de clasificación de solicitudes del clúster. |
.show cluster request classification policy |
Muestra la directiva de clasificación de solicitudes del clúster |
Use los siguientes comandos de administración para administrar la directiva de clasificación de solicitudes de Eventhouse.
Mandar | Descripción |
---|---|
.alter cluster request classification policy |
Modifica la directiva de clasificación de solicitudes de Eventhouse |
.alter-merge cluster request classification policy |
Habilita o deshabilita la directiva de clasificación de solicitudes de un centro de eventos |
.delete cluster request classification policy |
Elimina la directiva de clasificación de solicitudes de Eventhouse. |
.show cluster request classification policy |
Muestra la directiva de clasificación de solicitudes de Eventhouse |