Condividi tramite


Criteri di classificazione delle richieste

Si applica a: ✅Microsoft FabricEsplora dati di Azure

Il processo di classificazione assegna le richieste in ingresso a un gruppo di carico di lavoro, in base alle caratteristiche delle richieste. Personalizzare la logica di classificazione scrivendo una funzione definita dall'utente, come parte di un criterio di classificazione delle richieste a livello di cluster.

Il processo di classificazione assegna le richieste in ingresso a un gruppo di carico di lavoro, in base alle caratteristiche delle richieste. Personalizzare la logica di classificazione scrivendo una funzione definita dall'utente, come parte di un criterio di classificazione delle richieste a livello di Eventhouse.

In assenza di un criterio di classificazione delle richieste abilitato, tutte le richieste vengono classificate nel gruppo di carico di lavoro default.

Oggetto Policy

I criteri hanno le proprietà seguenti:

  • IsEnabled: bool - Indica se il criterio è abilitato o meno.
  • ClassificationFunction: string - Corpo della funzione da usare per classificare le richieste.

Funzione di classificazione

La classificazione delle richieste in ingresso si basa su una funzione definita dall'utente. I risultati della funzione vengono usati per classificare le richieste in gruppi di carico di lavoro esistenti.

La funzione definita dall'utente presenta le caratteristiche e i comportamenti seguenti:

  • Se IsEnabled è impostato su true nei criteri, la funzione definita dall'utente viene valutata per ogni nuova richiesta.
  • La funzione definita dall'utente fornisce il contesto del gruppo di carico di lavoro per la richiesta per la durata completa della richiesta.
  • Alla richiesta viene assegnato il contesto del gruppo di carico di lavoro default nelle situazioni seguenti:
    • La funzione definita dall'utente restituisce una stringa vuota, defaulto il nome del gruppo di carico di lavoro inesistente.
    • La funzione ha esito negativo per qualsiasi motivo.
  • È possibile designare una sola funzione definita dall'utente in qualsiasi momento.

Importante

La funzione di classificazione delle richieste viene valutata per ogni richiesta eseguita nel cluster. È consigliabile mantenerlo il più leggero possibile e non includere calcoli pesanti. Ad esempio, evitare di dover valutare molte espressioni regolari come parte dell'esecuzione.

Importante

La funzione di classificazione delle richieste viene valutata per ogni richiesta eseguita nella eventhouse. È consigliabile mantenerlo il più leggero possibile e non includere calcoli pesanti. Ad esempio, evitare di dover valutare molte espressioni regolari come parte dell'esecuzione.

Requisiti e limitazioni

Una funzione di classificazione:

  • Deve restituire un singolo valore scalare di tipo string. Ovvero il nome del gruppo di carico di lavoro a cui assegnare la richiesta.
  • Non deve fare riferimento ad altre entità (database, tabella o funzione).
    • In particolare, potrebbe non usare le funzioni e gli operatori seguenti:
      • cluster()
      • database()
      • table()
      • external_table()
      • externaldata
  • Ha accesso a un simbolo di dynamic speciale, un contenitore di proprietà denominato request_properties, con le proprietà seguenti:
Nome Digitare Descrizione Esempi
current_database string Nome del database di richiesta. "MyDatabase"
current_application string Nome dell'applicazione che ha inviato la richiesta. "Kusto.Explorer", "KusWeb"
current_principal string Nome completo dell'identità dell'entità che ha inviato la richiesta. "aaduser=1793eb1f-4a18-418c-be4c-728e310c86d3;83af1c0e-8c6d-4f09-b249-c67a2e8fda65"
query_consistency string Per le query: coerenza della query, strongconsistency o weakconsistency. Questa proprietà viene impostata dal chiamante come parte delle proprietà della richiesta della richiesta: la proprietà della richiesta client da impostare è: queryconsistency. "strongconsistency", "weakconsistency"
request_description string Testo personalizzato che l'autore della richiesta può includere. Il testo viene impostato dal chiamante come parte delle proprietà della richiesta client: la proprietà della richiesta client da impostare è: request_description. "Some custom description"; popolato automaticamente per i dashboard: "dashboard:{dashboard_id};version:{version};sourceId:{source_id};sourceType:{tile/parameter}"
request_text string Testo offuscato della richiesta. I valori letterali stringa offuscati inclusi nel testo della query vengono sostituiti da più caratteri star (*). Nota: vengono valutati solo i 65.536 caratteri iniziali del testo della richiesta. ".show version"
request_type string Tipo della richiesta, Command o Query. "Command", "Query"

Nota

L'impostazione delle opzioni di richiesta tramite istruzioni set non consente la classificazione da parte di tali istruzioni. Le opzioni devono essere impostate nell'oggetto proprietà della richiesta client.

Esempi

Un singolo gruppo di carico di lavoro

iff(request_properties.current_application == "Kusto.Explorer" and request_properties.request_type == "Query",
    "Ad-hoc queries",
    "default")

Più gruppi di carico di lavoro

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")

Comandi di gestione

Usare i comandi di gestione seguenti per gestire i criteri di classificazione delle richieste di un cluster.

Comando Descrizione
.alter cluster request classification policy Modifica i criteri di classificazione delle richieste del cluster
.alter-merge cluster request classification policy Abilita o disabilita i criteri di classificazione delle richieste di un cluster
.delete cluster request classification policy Elimina i criteri di classificazione delle richieste del cluster
.show cluster request classification policy Mostra i criteri di classificazione delle richieste del cluster

Usare i comandi di gestione seguenti per gestire i criteri di classificazione delle richieste di un'istanza di Eventhouse.

Comando Descrizione
.alter cluster request classification policy Modifica i criteri di classificazione delle richieste di Eventhouse
.alter-merge cluster request classification policy Abilita o disabilita i criteri di classificazione delle richieste di un'istanza di Eventhouse
.delete cluster request classification policy Elimina i criteri di classificazione delle richieste di Eventhouse
.show cluster request classification policy Mostra i criteri di classificazione delle richieste di Eventhouse