Kusto Query Language voor Azure Resource Graph: een beginnersgids
By Mirko Peters ·
Leer Kusto Query Language (KQL) voor Azure Resource Graph beheersen. Ontdek eenvoudige syntaxis, pipeline-filters, pipes en queries om je cloudomgeving te beheren.
Automatically translated with AI from the original post. Read the English original

Met de beheersing van Kusto Query Language (KQL) voor Azure Resource Graph kunnen cloudbeheerders heldere, bliksemsnelle queries schrijven die cloudinventaris, beveiligingsrisico's en governance-compliance over meerdere abonnementen heen moeiteloos boven water halen, zonder handmatig in de portal te klikken.
Belangrijkste punten
- KQL-queries lees je als een recept: het pipe-teken (|) koppelt opeenvolgende verwerkingsstappen aan elkaar.
- De standaardtabel 'resources' bevat het meeste wat je nodig hebt om tegelijk over meerdere Azure-abonnementen te queryen.
- Met de operators project en extend maak je rommelige output overzichtelijk en haal je geneste eigenschapswaarden eruit, zonder onnodige code.
- Resource Graph beperkt resultaten standaard tot 1.000 records als vangnet, waardoor je voor grote omgevingen pagineringtokens nodig hebt.
- KQL-kennis die je opdoet in Azure Resource Graph is direct bruikbaar in Log Analytics en Azure Data Explorer.
KQL in Azure Resource Graph ontrafeld
Wanneer je Kusto Query Language (KQL) voor het eerst tegenkomt, kan de afkorting intimiderend klinken. Maar als je het technische jargon wegneemt, blijft een verrassend toegankelijke, bijna Engelachtige syntaxis over, ontworpen om het bevragen van cloudinfrastructuur intuïtief te maken. In tegenstelling tot het schrijven van complexe applicaties of zware scripts draait KQL puur om vragen stellen en gestructureerde gegevens ophalen.
Elke vraag die je in Azure Resource Graph stelt, is gebouwd op KQL. Als je ooit Azure Data Explorer of Log Analytics hebt gebruikt, zal deze syntaxis meteen vertrouwd aanvoelen. Maar ook als je helemaal opnieuw begint, is de leercurve verrassend vlak. Je leert de kernset van KQL die je voor dagelijks cloudbeheer nodig hebt in één zitting.
De anatomie van een KQL-query
Een KQL-query lees je als een stapsgewijs recept. Het geheim van die leesbaarheid is het pipe-teken (|), dat de afzonderlijke instructies van elkaar scheidt. Je begint met een basistabel met gegevens en pipet die vervolgens naar opeenvolgende commando's die de output verfijnen, filteren of hervormen.
Lees een KQL-query van boven naar beneden en hij klinkt bijna als gewoon Engels. Bekijk bijvoorbeeld de eenvoudigste bruikbare query die je kunt schrijven:
resources | summarize countHardop uitgesproken betekent dit commando: neem alles uit de standaardtabel resources en geef me een telling. Het systeem antwoordt met één, zeer waardevol getal dat de totale omvang van je cloudomgeving weergeeft.
Essentiële operators voor cloudbeheerders
Zodra je het tellen van je assets onder de knie hebt, wil je de gegevens filteren en opmaken. Een aantal basisoperators doet in bijna elke beheerquery het zware werk:
- where: Filtert je dataset op basis van specifieke voorwaarden. Als je je query bijvoorbeeld wijzigt in
resources | where type == "Microsoft.Compute/virtualMachines", beperk je je telling strikt tot virtuele machines. - project: Bepaalt welke specifieke kolommen in je uiteindelijke output verschijnen. Zo kun je alleen de resourcenaam, locatie en abonnements-ID tonen in plaats van een enorme muur aan ruwe JSON-gegevens.
- order by: Sorteert je resultaten alfabetisch of numeriek, waardoor een willekeurige gegevensdump verandert in een overzichtelijke, goed scanbare tabel.
- extend: Maakt een tijdelijke aangepaste kolom aan, zodat je diep geneste configuratiewaarden kunt ophalen en ze korte, herbruikbare labels kunt geven.
Veelvoorkomende KQL-valkuilen vermijden
KQL is in sommige opzichten coulant, maar de regels voor hoofdletters zijn streng. De operator voor hoofdletterongevoelige vergelijking (geschreven als een gelijkteken met een tilde, zoals =~) negeert hoofdletters gewoon wanneer je zoekt op tekstwaarden, zoals resourcetypen. Eigenschapsnamen werken echter héél anders. Als je een eigenschapsnaam verkeerd spelt of de hoofdletters verkeerd zet, geeft KQL geen luide syntaxfout. In plaats daarvan levert de query stilletjes lege waarden op, waardoor je naar een bug zoekt die in je logica helemaal niet bestaat.
Verder kijken dan de basis van tabellen
De tabel resources dekt het overgrote deel van je dagelijkse beheertaken, maar er bestaan gespecialiseerde tabellen voor diepgaander governancewerk. Wanneer je beveiligingsconfiguraties wilt auditen, toewijzingen van beleid wilt controleren of je organisatiestructuur wilt inspecteren, zoals managementgroepen, abonnementen en resourcegroepen, kun je je KQL-query's rechtstreeks op deze speciale tabellen richten.
Omdat KQL een standaardtaal is binnen het Microsoft-ecosysteem, levert het beheersen van deze patronen direct een carrièrevoordeel op. De query's die je vandaag schrijft om verweesde netwerkbeveiligingsgroepen op te ruimen of virtuele machines zonder tags te vinden, werken even goed wanneer je beveiligingswaarschuwingen schrijft in Microsoft Defender of operationele dashboards bouwt in Log Analytics.
Conclusie en volgende stappen
KQL leren verandert Azure Resource Graph van een mysterieuze backend-engine in je favoriete dagelijkse hulpmiddel voor cloudbeheer. Door tijdrovend klikken in de portal en broze scripts te vervangen door beknopte, leesbare query's, krijg je volledig overzicht over je omgeving met meerdere abonnementen.
Wil je dieper ingaan op het vereenvoudigen van je cloudbeheer? Luister de volledige aflevering voor meer expertinzichten, praktische voorbeelden en begeleiding bij het toepassen van Azure Resource Graph in jouw organisatie.
Veelgestelde vragen
Wat is KQL en waarom wordt het gebruikt in Azure Resource Graph?
KQL staat voor Kusto Query Language. Het is een lichtgewicht, intuïtieve querytaal waarmee je vragen stelt aan je Azure-omgeving in Resource Graph. Met een leesbare syntaxis met pipes kun je duizenden cloudresources in één keer filteren, sorteren en groeperen.
Hoe filter ik resources op type met KQL?
Je filtert resources door na je eerste tabeldeclaratie een 'where'-clausule toe te voegen. Met 'resources | where type =~ "microsoft.keyvault/vaults"' krijg je bijvoorbeeld alleen je Azure Key Vaults te zien.
Waarom geeft mijn KQL-query lege waarden in plaats van een foutmelding?
Eigenschapsnamen in KQL zijn hoofdlettergevoelig. Als je een eigenschapsnaam verkeerd schrijft qua hoofdletters, geeft Azure Resource Graph geen syntaxfout. In plaats daarvan levert de query stilletjes lege waarden op, wat debuggen lastig maakt.
Wat is de limiet van 1.000 records in Azure Resource Graph?
Standaard retourneert een Resource Graph-query maximaal 1.000 records, zodat gebruikers niet per ongeluk enorme datasets ophalen. Als je omgeving duizenden resources bevat, kun je deze limiet omzeilen of er doorheen bladeren met continuation tokens.