Partager via


Démarrage rapide : exécuter une requête Resource Graph en utilisant l’API REST

Ce guide de démarrage rapide décrit comment exécuter une requête Azure Resource Graph avec l’API REST et comment afficher les résultats. Les éléments de l’API REST sont un URI qui inclut la version de l’API et le corps de la demande qui contient la requête. Les exemples utilisent Azure CLI pour se connecter à Azure, ce qui permet d’authentifier votre compte pour exécuter des commandes az rest.

Si vous ne connaissez pas bien l’API REST, commencez par passer en revue Référence de l’API REST Azure pour obtenir des informations générales sur l’API REST, en particulier sur l’URI de requête et le corps de la requête. Pour connaître les spécifications d’Azure Resource Graph, consultez API REST Azure Resource Graph.

Prérequis

Connexion à Azure

Depuis une session de terminal Visual Studio Code, connectez-vous à Azure. Si vous avez plusieurs abonnements, exécutez les commandes pour définir le contexte sur votre abonnement. Remplacez {subscriptionID} par l’identifiant de votre abonnement Azure.

az login

# Run these commands if you have multiple subscriptions
az account list --output table
az account set --subscription {subscriptionID}

az login à utiliser même si vous utilisez PowerShell, car les exemples utilisent les commandes Azure CLI az rest.

Revoir la syntaxe de l'API REST

Il existe deux éléments pour exécuter les commandes de l'API REST : l'URI de l'API REST et le corps de la requête. Pour plus d’informations, accédez à Resources. Pour effectuer une requête par groupe d’administration, utilisez managementGroups au lieu de subscriptions. Pour interroger l'ensemble du locataire, omettez les propriétés managementGroups et subscriptions dans le corps de la requête.

L’exemple suivant montre la syntaxe d’URI de l’API REST afin d’exécuter une requête pour un abonnement Azure.

POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2022-10-01

Un corps de la demande est nécessaire pour exécuter une requête avec l’API REST. L'exemple suivant est le JSON pour créer un fichier de corps de requête.

{
  "subscriptions": [
    "{subscriptionID}"
  ],
  "query": "Resources | project name, type | limit 5"
}

Exécuter une requête Resource Graph

Les exemples utilisent la même commande az rest, mais vous modifiez le corps de la demande pour obtenir des résultats différents. Les exemples répertorient les ressources, organisent les ressources selon la propriété name, puis organisent les ressources selon la propriété name et limitent le nombre de résultats.

Pour exécuter tous les exemples de requête, utilisez la commande az rest suivante pour votre environnement d’interpréteur de commandes :

az rest --method post --uri https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2022-10-01 --body `@request-body.json

Dans PowerShell, l’accent grave (`) est nécessaire pour échapper @ (at sign) afin de spécifier un nom de fichier pour le corps de la demande.

Dans chaque exemple de corps de la demande, remplacez {subscriptionID} par votre ID d’abonnement Azure. Exécutez la commande suivante pour obtenir votre ID d’abonnement Azure pour le corps de la demande :

az account show --query id --output tsv

Répertorier les ressources

Dans Visual Studio Code, créez un fichier nommé request-body.json. Copiez et collez le code JSON suivant dans le fichier, puis enregistrez le fichier.

La requête retourne cinq ressources Azure avec le name et le resource type de chaque ressource.

{
  "subscriptions": [
    "{subscriptionID}"
  ],
  "query": "Resources | project name, type | limit 5"
}

Étant donné que cet exemple de requête ne fournit pas de modificateur de tri tel que order by, l’exécution répétée de cette requête produit un ensemble différent de ressources par demande.

Organiser selon la propriété name

Mettez à jour request-body.json avec le code suivant pour modifier la requête afin d’organiser (order by) les ressources selon la propriété name. Enregistrez le fichier et utilisez la commande az rest pour exécuter la requête.

{
  "subscriptions": [
    "{subscriptionID}"
  ],
  "query": "Resources | project name, type | limit 5 | order by name asc"
}

Si vous exécutez cette requête plusieurs fois, elle produit un ensemble différent de ressources par demande.

L’ordre des commandes de requête est important. Dans cet exemple, order by vient après limit. Cette commande limite les résultats de la requête à cinq ressources, puis les organise.

Organiser selon la propriété name et limiter les résultats

Mettez à jour request-body.json avec le code suivant pour organiser (order by) les ressources selon la propriété name, puis limiter (limit) les résultats aux cinq premiers. Enregistrez le fichier et utilisez la même commande az rest pour exécuter la requête.

{
  "subscriptions": [
    "{subscriptionID}"
  ],
  "query": "Resources | project name, type | order by name asc | limit 5"
}

Si vous exécutez la requête plusieurs fois et que votre environnement ne change pas, les résultats retournés sont cohérents et organisés selon la propriété name, mais limités aux cinq premiers.

Nettoyer les ressources

Déconnectez-vous de votre session Azure CLI.

az logout

Étapes suivantes

Dans ce guide de démarrage rapide, vous avez utilisé le point de terminaison de l’API REST Azure Resource Graph pour exécuter une requête. Pour plus d’informations sur le langage Resource Graph, passez à la page des détails du langage de requête.