Page Text: par amethyste16
Azure Graph est un service Azure capable de lancer des requêtes Azure dans un langage appelé Kusto. Kusto est un langage simple à apprendre, mais très puissant. On le rencontre aussi pour requêter les espaces de travail Log Analytics.
On va par exemple très facilement retrouver toutes les ressources qui n’ont pas le tag CodeBudget par exemple.
Cet outil peut rappeler Azure Resources Explorer dont j’ai parlé ici:
La différence est qu’il s’agit ici d’un service Azure.
Alors partons à la découverte de Azure Graph!
Au programme:
Kusto et premières requêtes
Découverte d’Azure Graph
Le portail est vide la première fois que l’on arrive. Créons tout de suite une requête en cliquant sur Resource Graph Explorer:
En (1) on peut sélectionner la portée de la requête
En (2) la zone de saisie de la requête. Elle peut également être enregistrée
En (3) un onglet qui pour l’instant est sur Get Started.
Il laisse apparaître une sélection de diverses requêtes prêtes à l’emploi (4). On peut bien entendu les modifier
En (5) une arborescence de ressources Azure que l’on peut requêter. Cette zone peut servir de base pour écrire nos requêtes
Kusto et premières requêtes
Choisissons une requête :
Resources | summarize count()
Resources référence n’importe quelle ressource de votre environnement. On va ensuite arranger la sortie à l’aide de l’opérateur sumarize. Vous remarquerez le pipe (|) qui sépare les opérateurs.
Summarize génère une table qui agrège les résultats qui lui sont passés. Ici la fonction d’agrégation est count(), une fonction qui compte le nombre de sorties de ressources.
Run Query lance la requête:
Il y a donc 7 ressources sur mon abonnement. On peut personnaliser un peu les choses en changeant le nom par défaut de la colonne:
resources | summarize Total = count()
On va s’intéresser à la requête suivante:
resources | where isnull(tags.CodeBudget)
Elle remonte toutes les ressources qui ne sont pas taguées avec CodeBudget. Et remonte:
On n’a certainement pas besoin de tous les champs, il est possible de filtrer:
resources | where isnull(tags.CodeBudget) | project Nom=name, type, resourceGroup
L’opérateur project créée ce que l’on appelle une projection. Pour faire simple il affiche un objet composé d’une sélection des propriétés d’un autre objet.
NOTE: les noms de propriété sont sensibles à la casse
C’est plus lisible, on peut l’améliorer un peu en cochant Formatted Results:
Bibliographie