Kusto Query Language per Azure Resource Graph: guida per principianti
By Mirko Peters ·
Padroneggia il Kusto Query Language (KQL) per Azure Resource Graph. Scopri la sintassi semplice, i filtri in pipeline, il carattere pipe e le query per gestire il tuo ambiente cloud.
Automatically translated with AI from the original post. Read the English original

Padroneggiare il Kusto Query Language (KQL) per Azure Resource Graph permette agli amministratori cloud di scrivere query pulite e velocissime, che portano in superficie senza sforzo l'inventario cloud, i rischi di sicurezza e la conformità ai criteri di governance su più sottoscrizioni, senza dover ricorrere a clic manuali nel portale.
Punti chiave
- Le query KQL si leggono come una ricetta: il carattere pipe (|) collega in sequenza i passaggi di elaborazione dei dati.
- La tabella predefinita 'resources' contiene gran parte di ciò che ti serve per interrogare contemporaneamente più sottoscrizioni di Azure.
- Gli operatori project ed extend ti aiutano a ripulire output disordinati ed estrarre valori di proprietà annidate senza appesantire il codice.
- Resource Graph limita per impostazione predefinita i risultati a 1.000 record come misura di protezione, richiedendo token di paginazione per gli ambienti molto grandi.
- Le competenze KQL acquisite in Azure Resource Graph si trasferiscono direttamente a Log Analytics e Azure Data Explorer.
Demistificare KQL in Azure Resource Graph
Quando incontri per la prima volta il Kusto Query Language (KQL), l'acronimo può sembrare intimidatorio. Tuttavia, una volta eliminato il gergo tecnico, emerge una sintassi sorprendentemente accessibile e vicina all'inglese, pensata per rendere intuitiva l'interrogazione dell'infrastruttura cloud. A differenza dello sviluppo di applicazioni complesse o degli script pesanti, KQL si concentra esclusivamente sul porre domande e recuperare dati strutturati.
Ogni domanda che poni in Azure Resource Graph si basa su KQL. Se hai già usato Azure Data Explorer o Log Analytics, questa sintassi ti sembrerà subito familiare. Ma anche se parti da zero, la curva di apprendimento è sorprendentemente dolce. Puoi imparare il nucleo di KQL necessario per la gestione quotidiana del cloud in una sola sessione di studio.
L'anatomia di una query KQL
Una query KQL si legge come una ricetta passo dopo passo. Il segreto di questa leggibilità è il carattere pipe (|), che separa le singole istruzioni. Parti da una tabella di dati di base, poi la fai passare attraverso comandi successivi che restringono, filtrano o rimodellano l'output.
Letta dall'alto verso il basso, una query KQL suona quasi come una frase in linguaggio naturale. Ad esempio, considera la query più semplice ma utile che puoi scrivere:
resources | summarize countDetto a voce alta, questo comando significa: prendi tutto ciò che si trova nella tabella predefinita resources e dammi un conteggio. Il sistema risponde con un unico numero, molto prezioso, che rappresenta la dimensione complessiva del tuo patrimonio cloud.
Operatori essenziali per gli amministratori cloud
Una volta padroneggiato il conteggio delle risorse, vorrai filtrare e formattare i dati. Pochi operatori di base fanno il grosso del lavoro in quasi tutte le query amministrative:
- where: filtra il set di dati in base a condizioni specifiche. Ad esempio, modificando la query in
resources | where type == "Microsoft.Compute/virtualMachines"il conteggio si limita strettamente alle macchine virtuali. - project: sceglie quali colonne compaiono nell'output finale, permettendoti di visualizzare solo il nome della risorsa, la posizione e l'ID della sottoscrizione invece di un enorme muro di dati JSON grezzi.
- order by: ordina i risultati in ordine alfabetico o numerico, trasformando un ammasso casuale di dati in una tabella ordinata e facile da scorrere.
- extend: Crea una colonna personalizzata temporanea, che consente di estrarre valori di configurazione annidati in profondità e di assegnare loro etichette brevi e riutilizzabili.
Evitare i tranelli comuni di KQL
Sebbene KQL sia tollerante sotto alcuni aspetti, ha regole precise per quanto riguarda le maiuscole e le minuscole. L'operatore di confronto senza distinzione tra maiuscole e minuscole (scritto come un segno di uguale seguito da una tilde, ovvero =~) ignora senza problemi la differenza quando cerchi valori stringa, come i tipi di risorsa. I nomi delle proprietà, però, sono un'altra storia. Se scrivi in modo errato un nome di proprietà o ne sbagli le maiuscole, KQL non genera un errore di sintassi evidente; restituisce semplicemente valori vuoti, e tu finisci per cercare un bug che in realtà non esiste nella tua logica.
Sfruttare le tabelle oltre le basi
Sebbene la tabella resources copra la stragrande maggioranza dei controlli amministrativi quotidiani, esistono tabelle specializzate per attività di governance più approfondite. Quando devi verificare la postura di sicurezza, esaminare le assegnazioni dei criteri o ispezionare i contenitori organizzativi, come gruppi di gestione, sottoscrizioni e gruppi di risorse, puoi indirizzare le query KQL direttamente a queste tabelle dedicate.
Poiché KQL è uno standard trasversale all'ecosistema Microsoft, padroneggiare questi schemi offre un vantaggio professionale immediato. Le query che scrivi oggi per ripulire i gruppi di sicurezza di rete orfani o per individuare le macchine virtuali senza tag saranno utili in egual misura quando dovrai creare avvisi di sicurezza in Microsoft Defender o dashboard operative in Log Analytics.
Conclusioni e passi successivi
Imparare Kusto Query Language trasforma Azure Resource Graph da un motore di backend misterioso nello strumento di gestione cloud che userai ogni giorno. Sostituendo i clic ripetitivi nel portale e gli script fragili con query concise e leggibili, ottieni una visibilità completa sul tuo ambiente con più sottoscrizioni.
Per approfondire come semplificare i flussi di lavoro di amministrazione cloud, ascolta l'episodio completo per ulteriori approfondimenti di esperti, esempi pratici e indicazioni operative su come far funzionare Azure Resource Graph nella tua organizzazione.
Domande frequenti
Che cos'è KQL e perché viene usato in Azure Resource Graph?
KQL sta per Kusto Query Language. È un linguaggio di query leggero e intuitivo, usato per porre domande sul tuo ambiente Azure in Resource Graph. Consente di filtrare, ordinare e raggruppare migliaia di risorse cloud in modo immediato, utilizzando una sintassi leggibile basata su pipe.
Come filtro le risorse per tipo con KQL?
Puoi filtrare le risorse aggiungendo una clausola 'where' dopo la dichiarazione iniziale della tabella. Ad esempio, scrivendo 'resources | where type =~ "microsoft.keyvault/vaults"' otterrai solo i tuoi Azure Key Vault.
Perché la mia query KQL restituisce valori vuoti invece di un errore?
I nomi delle proprietà in KQL sono sensibili alle maiuscole e alle minuscole. Se ne sbagli le maiuscole, Azure Resource Graph non genera un errore di sintassi; restituisce semplicemente valori vuoti, rendendo più difficile il debug.
Qual è il limite di 1.000 record in Azure Resource Graph?
Per impostazione predefinita, una query di Resource Graph restituisce al massimo 1.000 record, per evitare di scaricare accidentalmente set di dati molto grandi. Puoi superare questo limite o scorrerne i risultati usando i token di continuazione, se il tuo ambiente contiene migliaia di risorse.