Ř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/plain
jsou 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.