Compartir a través de


Directiva de clasificación de solicitudes

Se aplica a: ✅Microsoft Fabricazure 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 en true 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, defaulto el nombre del grupo de cargas de trabajo inexistente.
    • Se produce un error en la función por cualquier motivo.
  • 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
  • Tiene acceso a un símbolo de dynamic especial, un contenedor de propiedades denominado request_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
  • grupos de cargas de trabajo de
  • propiedades de solicitud de