Dela via


Felsöka fel med Hjälp av Azure Resource Graph

Du kan stöta på fel när du kör frågor mot Azure-resurser med Azure Resource Graph. Den här artikeln beskriver olika fel som kan uppstå och hur du löser dem.

Hitta felinformation

De flesta felen beror på problem när en fråga körs med Azure Resource Graph. När en fråga misslyckas innehåller SDK:n information om frågan som misslyckas. Den här informationen anger problemet så att det kan åtgärdas och en senare fråga lyckas.

Allmänna fel

Scenario: Begränsade begäranden

Problem

Kunder som gör stora eller frekventa resursfrågor har begränsade begäranden.

Orsak

Azure Resource Graph allokerar ett kvotnummer för varje användare baserat på ett tidsfönster. En användare kan till exempel skicka högst 15 frågor inom varje 5-sekundersfönster utan att begränsas. Kvotvärdet bestäms av många faktorer och kan komma att ändras. Mer information finns i Begränsning i Azure Resource Graph.

Åtgärd

Det finns flera metoder för att hantera begränsade begäranden:

Scenario: För många prenumerationer

Problem

Kunder med åtkomst till mer än 1 000 prenumerationer, inklusive prenumerationer mellan klientorganisationer med Azure Lighthouse, kan inte hämta data i alla prenumerationer i ett enda anrop till Azure Resource Graph.

Orsak

Azure CLI och PowerShell vidarebefordrar endast de första 1 000 prenumerationerna till Azure Resource Graph. REST-API:et för Azure Resource Graph har en maxgräns för hur många prenumerationer som frågan kan köras mot.

Åtgärd

Batch-begäranden för frågan med en delmängd prenumerationer för att hålla sig under gränsen på 1 000 prenumerationer. Lösningen använder parametern Prenumeration i 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

Scenario: REST-huvud av innehållstyp som inte stöds

Problem

Kunder som frågar Azure Resource Graph REST API får ett svar på 500 (internt serverfel) som returneras.

Orsak

Rest-API:et för Azure Resource Graph stöder endast en Content-Type av application/json. Vissa REST-verktyg eller agenter har standardvärdet text/plain, som inte stöds av REST-API:et.

Åtgärd

Kontrollera att verktyget eller agenten som du använder för att fråga Azure Resource Graph har REST API-huvudet Content-Type konfigurerat för application/json.

Scenario: Ingen läsbehörighet för alla prenumerationer i listan

Problem

Kunder som uttryckligen skickar en lista över prenumerationer med en Azure Resource Graph-fråga får ett svar på 403 (förbjuden).

Orsak

Om kunden inte har läsbehörighet till alla angivna prenumerationer nekas begäran på grund av brist på lämpliga säkerhetsrättigheter.

Åtgärd

Inkludera minst en prenumeration i prenumerationslistan som kunden som kör frågan har minst läsbehörighet till. Mer information finns i Behörigheter i Azure Resource Graph.

Scenario: Azure Resource Graph-fält uppdateras inte omedelbart

Problem

Det finns specifika fält som uppdateras långsammare när du använder Azure Resource Graph. Dessa fält konvergerar till sanna värden över tid, förutsatt att det inte finns några uppdateringar däremellan.

Lista över fält som påverkas

Viktigt!

  • Det här konceptet är inte begränsat till specifika egenskaper. Följande lista är exempel som du kan hitta fördröjda, men så småningom uppdateras.
  • Det finns vissa fall där vm-tillstånd uppdateras asynkront, vilket innebär att det aktuella tillståndet inte matchar "måltillståndet" (önskat tillstånd som angetts av kunder). De här vm-fälten konvergerar dock över tid.
  • properties.extended.instanceView.osName
  • properties.extended.instanceView.osVersion
  • properties.extended.instanceView.computerName

Orsak

Vissa fält kommer från agentblobar som inte har meddelandetäckning, och därför fördröjs uppdateringar av dessa fält.

Åtgärd

Dessa fält uppdateras i en långsammare takt idag, men konvergerar till sanna värden över tid, förutsatt att det inte finns några uppdateringar däremellan.

Nästa steg

Om du inte ser problemet eller inte kan lösa problemet går du till någon av följande kanaler för mer support:

  • Få svar från Azure-experter via Azure-forum.
  • Anslut med @AzureSupport – det officiella Microsoft Azure-kontot för att förbättra kundupplevelsen genom att ansluta Azure-communityn till rätt resurser: svar, support och experter.
  • Om du behöver mer hjälp kan du skapa en Azure Support incident. Gå till webbplatsen Azure Support och välj Hämta support.