Sdílet prostřednictvím


Řešení chyb s využitím Azure Resource Graphu

Při dotazování prostředků Azure pomocí Azure Resource Graphu můžete narazit na chyby. Tento článek popisuje různé chyby, ke kterým může dojít a jak je vyřešit.

Vyhledání podrobností o chybě

Příčinou většiny chyb je problém při spuštění dotazu pomocí služby Azure Resource Graph. Pokud dotaz selže, poskytuje sada SDK podrobnosti o neúspěšném dotazu. Tyto informace označují problém, aby bylo možné problém opravit a pozdější dotaz bude úspěšný.

Obecné chyby

Scénář: Omezené požadavky

Problém

Zákazníci, kteří vytvářejí velké nebo časté dotazy na prostředky, mají omezené požadavky.

Příčina

Azure Resource Graph každému uživateli přidělí číslo kvóty na základě časového intervalu. Uživatel může například posílat maximálně 15 dotazů v každém 5sekundovém okně bez omezení. Hodnota kvóty je určena mnoha faktory a může se změnit. Další informace najdete v tématu Omezování ve službě Azure Resource Graph.

Rozlišení

Existuje několik způsobů zpracování omezených požadavků:

Scénář: Příliš mnoho předplatných

Problém

Zákazníci s přístupem k více než 1 000 předplatným, včetně předplatných napříč tenanty s Azure Lighthousem, nemůžou načítat data napříč všemi předplatnými v rámci jednoho volání azure Resource Graphu.

Příčina

Azure CLI a PowerShell předávají pouze prvních 1 000 předplatných do Azure Resource Graphu. Rozhraní REST API pro službu Azure Resource Graph přijímá maximální počet předplatných, na kterých je možné dotaz provést.

Rozlišení

Dávkové požadavky na dotaz s podmnožinou předplatných, aby zůstaly pod limitem 1 000 předplatných. Řešení používá parametr Subscription v PowerShellu.

# 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énář: Nepodporovaná hlavička REST typu obsahu

Problém

Zákazníkům, kteří se dotazují na rozhraní REST API služby Azure Resource Graph, se vrátí odpověď 500 (vnitřní chyba serveru).

Příčina

Rozhraní REST API služby Azure Resource Graph podporuje Content-Type pouze rozhraní application/json. Některé nástroje REST nebo agenti ve výchozím nastavení text/plainjsou nepodporované rozhraním REST API.

Rozlišení

Ověřte, že nástroj nebo agent, který používáte k dotazování služby Azure Resource Graph, má nakonfigurovanou hlavičku Content-Type rozhraní REST API .application/json

Scénář: Žádné oprávnění ke čtení pro všechna předplatná v seznamu

Problém

Zákazníci, kteří explicitně předávají seznam předplatných s dotazem Azure Resource Graphu , obdrží odpověď 403 (Zakázáno).

Příčina

Pokud zákazník nemá oprávnění ke čtení pro všechna poskytnutá předplatná, žádost se zamítla kvůli nedostatku odpovídajících bezpečnostních práv.

Rozlišení

Do seznamu předplatného zahrňte alespoň jedno předplatné, ke kterému má zákazník, který dotaz spouští, alespoň přístup pro čtení. Další informace najdete v části Oprávnění ve službě Azure Resource Graph.

Další kroky

Pokud jste problém neviděli nebo nemůžete problém vyřešit, navštivte jeden z následujících kanálů, kde najdete další podporu:

  • Získejte odpovědi od odborníků na Azure prostřednictvím fór Azure.
  • Spojte se s @AzureSupport – oficiálním účtem Microsoft Azure pro zlepšení uživatelského prostředí propojením komunity Azure se správnými prostředky: odpovědi, podpora a odborníci.
  • Pokud potřebujete další pomoc, můžete podat podpora Azure incident. Přejděte na web podpora Azure a vyberte Získat podporu.