Partager via


Résoudre les erreurs à l’aide d’Azure Resource Graph

Vous pouvez rencontrer des erreurs lors de l’interrogation des ressources Azure avec Azure Resource Graph. Cet article décrit différentes erreurs qui peuvent se produire et explique comment les résoudre.

Recherche des détails de l’erreur

La plupart des erreurs sont le résultat d’un problème lors de l’exécution d’une requête avec Azure Resource Graph. En cas d’échec d’une requête, le kit de développement logiciel (SDK) fournit des détails sur la requête qui a échoué. Ces informations précisent le problème afin que vous puissiez le résoudre et que la requête suivante réussisse.

Erreurs générales.

Scénario : Requêtes limitées

Problème

Lorsque les clients envoient des requêtes de ressources fréquentes ou volumineuses, ces dernières sont limitées.

Cause

Azure Resource Graph alloue un quota à chaque utilisateur en fonction d’une fenêtre de temps. Par exemple, un utilisateur peut envoyer au maximum 15 requêtes durant chaque fenêtre de cinq secondes sans être limité. La valeur de quota est déterminée par de nombreux facteurs et est susceptible de changer. Pour plus d’informations, voir Throttle in Azure Resource Graph (Limitation dans Azure Resource Graph).

Résolution

Il existe plusieurs méthodes pour traiter les requêtes limitées :

Scénario : Trop d’abonnements

Problème

Les clients ayant accès à plus de 1 000 abonnements, y compris les abonnements inter-clients avec Azure Lighthouse, ne peuvent pas extraire les données de tous les abonnements dans un seul appel à Azure Resource Graph.

Cause

Azure CLI et PowerShell transfèrent uniquement les 1 000 premiers abonnements à Azure Resource Graph. L’API REST pour Azure Resource Graph accepte un nombre maximal d’abonnements pour exécuter la requête.

Résolution

Requêtes par lots pour la requête avec un sous-ensemble d’abonnements à conserver sous la limite d’abonnement de 1 000. La solution utilise le paramètre d’Abonnement dans PowerShell.

# Replace this query with your own
$query = 'Resources | project type'

# Fetch the full array of subscription IDs
$subscriptions = Get-AzSubscription
$subscriptionIds = $subscriptions.Id

# Create a counter, set the batch size, and prepare a variable for the results
$counter = [PSCustomObject] @{ Value = 0 }
$batchSize = 1000
$response = @()

# Group the subscriptions into batches
$subscriptionsBatch = $subscriptionIds | Group -Property { [math]::Floor($counter.Value++ / $batchSize) }

# Run the query for each batch
foreach ($batch in $subscriptionsBatch){ $response += Search-AzGraph -Query $query -Subscription $batch.Group }

# View the completed results of the query on all subscriptions
$response

Scénario : En-tête REST Content-Type non pris en charge

Problème

Les clients qui interrogent l’API REST Azure Resource Graph reçoivent une réponse 500 (erreur de serveur interne).

Cause

L’API REST Azure Resource Graph ne prend en charge qu’un Content-Typeapplication/json. Certains outils ou agents REST sont par défaut de type text/plain que l’API REST ne prend pas en charge.

Résolution

Vérifiez que l’outil ou l’agent que vous utilisez pour interroger Azure Resource Graph a l’en-tête API REST Content-Type configuré pour application/json.

Scénario : Aucune autorisation de lecture sur tous les abonnements répertoriés

Problème

Les clients qui transmettent explicitement une liste d’abonnements à l’aide d’une requête Azure Resource Graph obtiennent une réponse 403 (Interdit).

Cause

Si le client ne dispose pas d’autorisations de lecture sur tous les abonnements fournis, la requête est refusée en raison de l’absence de droits de sécurité appropriés.

Résolution

Incluez dans la liste d’abonnements au moins un abonnement auquel le client qui exécute la requête a accès en lecture. Pour plus d’informations, voir Autorisations dans Azure Resource Graph.

Étapes suivantes

Si votre problème ne figure pas dans cet article ou si vous ne parvenez pas à le résoudre, utilisez un des canaux suivants pour obtenir de l’aide :

  • Obtenez des réponses de la part d’experts Azure via les Forums Azure.
  • Connectez-vous avec @AzureSupport, qui est le compte Microsoft Azure officiel pour améliorer l’expérience client en connectant la communauté Azure aux ressources appropriées : réponses, support technique et experts.
  • Si vous avez besoin de plus d’aide, vous pouvez signaler un incident au support Azure. Accédez au site du support Azure , puis cliquez sur Obtenir un support.