Snabbstart: Kör din första Resource Graph-fråga med hjälp av REST API

Det första steget för att använda Azure Resource Graph med REST API är att kontrollera att du har ett verktyg för att anropa REST API:er tillgängliga. Den här snabbstarten vägleder dig sedan genom processen att köra en fråga och hämta resultaten genom att anropa Azure Resource Graph REST API-slutpunkten.

I slutet av den här processen har du verktygen för att anropa REST API-slutpunkter och köra din första Resource Graph-fråga.

Förutsättningar

Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.

Azure Cloud Shell

Azure är värd för Azure Cloud Shell, en interaktiv gränssnittsmiljö som du kan använda via webbläsaren. Du kan använda antingen Bash eller PowerShell med Cloud Shell för att arbeta med Azure-tjänster. Du kan använda förinstallerade Cloud Shell-kommandon för att köra koden i den här artikeln, utan att behöva installera något i din lokala miljö.

Så här startar du Azure Cloud Shell:

Alternativ Exempel/länk
Välj Prova i det övre högra hörnet i en kod eller ett kommandoblock. Om du väljer Prova kopieras inte koden eller kommandot automatiskt till Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Gå till https://shell.azure.com eller Välj knappen Starta Cloud Shell för att öppna Cloud Shell i webbläsaren. Button to launch Azure Cloud Shell.
Välj knappen Cloud Shell på menyn längst upp till höger i Azure-portalen. Screenshot that shows the Cloud Shell button in the Azure portal

Så här använder du Azure Cloud Shell:

  1. Starta Cloud Shell.

  2. Välj knappen Kopiera i ett kodblock (eller kommandoblock) för att kopiera koden eller kommandot.

  3. Klistra in koden eller kommandot i Cloud Shell-sessionen genom att välja Ctrl+Skift+V i Windows och Linux, eller genom att välja Cmd+Shift+V på macOS.

  4. Välj Retur för att köra koden eller kommandot.

Komma igång med REST API

Om du inte är bekant med REST API börjar du med att gå igenom referensen för Azure REST API så att du förstår hur REST-API:et fungerar, särskilt begärande-URI och begärandetext. Den här artikeln använder dessa begrepp för att ge anvisningar för att arbeta med Azure Resource Graph och förutsätter en fungerande kunskap om dem. Verktyg som ARMClient och andra kan hantera auktorisering automatiskt och rekommenderas för nybörjare.

Information om Azure Resource Graph-specifikationerna finns i Rest-API:et för Azure Resource Graph.

REST API och PowerShell

Om du inte redan har ett verktyg för att göra REST API-anrop kan du använda PowerShell för dessa anvisningar. Följande kodexempel hämtar en rubrik för autentisering med Azure. Generera ett autentiseringshuvud, även kallat en ägartoken, och ange REST API-URI:n som du vill ansluta till med valfria parametrar eller en begärandetext:

# Log in first with Connect-AzAccount if not using Cloud Shell

$azContext = Get-AzContext
$azProfile = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile
$profileClient = New-Object -TypeName Microsoft.Azure.Commands.ResourceManager.Common.RMProfileClient -ArgumentList ($azProfile)
$token = $profileClient.AcquireAccessToken($azContext.Subscription.TenantId)
$authHeader = @{
    'Content-Type'='application/json'
    'Authorization'='Bearer ' + $token.AccessToken
}

# Invoke the REST API
$restUri = "https://management.azure.com/subscriptions/$($azContext.Subscription.Id)?api-version=2020-01-01"
$response = Invoke-RestMethod -Uri $restUri -Method Get -Headers $authHeader

Variabeln $response innehåller resultatet av cmdleten Invoke-RestMethod , som kan parsas med cmdletar som ConvertFrom-Json. Om REST API-tjänstslutpunkten förväntar sig en begärandetext lägger du till en JSON-formaterad variabel till -Body-parametern för Invoke-RestMethod.

Köra din första Resource Graph-fråga

När REST API-verktygen har lagts till i valfri miljö är det dags att prova en enkel prenumerationsbaserad Resource Graph-fråga. Frågan returnerar de fem första Azure-resurserna med namn och resurstyp för varje resurs. Om du vill fråga efter hanteringsgrupp använder du managementgroups i stället för subscriptions. Om du vill fråga hela klientorganisationen utelämnar du både managementgroups egenskaperna och subscriptions från begärandetexten.

I begärandetexten för varje REST API-anrop finns det en variabel som används som du behöver ersätta med ditt eget värde:

  • {subscriptionID} – Ersätt med ditt prenumerations-ID
  1. Kör din första Azure Resource Graph-fråga med hjälp av REST-API:et resources och slutpunkten:

    • REST API-URI

      POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2021-03-01
      
    • Begärandetext

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

    Kommentar

    Eftersom det här frågeexemplet inte tillhandahåller någon sorteringsmodifierare som order by, kommer körningen av den här frågan flera gånger sannolikt att ge en annan uppsättning resurser per begäran.

  2. Uppdatera anropet resouces till slutpunkten och ändra frågan till order byegenskapen Namn :

    • REST API-URI

      POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2021-03-01
      
    • Begärandetext

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

    Kommentar

    Om du kör den här frågan flera kommer den, precis som den första frågan, sannolikt att resultera i olika resurser vid varje begäran. Ordningen på frågekommandona är viktig. I det här exemplet kommer order by efter limit. Den här kommandoordningen begränsar först frågeresultatet och beställer dem sedan.

  3. Uppdatera anropet till resources slutpunkten och ändra frågan till först order byegenskapen Namn och sedan limit till de fem främsta resultaten:

    • REST API-URI

      POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2021-03-01
      
    • Begärandetext

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

När den slutliga frågan körs flera gånger, förutsatt att ingenting i din miljö ändras, är resultaten som returneras konsekventa och ordnade efter egenskapen Namn , men ändå begränsade till de fem främsta resultaten.

Fler exempel på REST API-anrop för Azure Resource Graph finns i Azure Resource Graph REST-exempel.

Rensa resurser

REST API har inga bibliotek eller moduler att avinstallera. Om du har installerat ett verktyg som ARMClient för att göra anropen och inte längre behöver det kan du avinstallera verktyget nu.

Nästa steg

I den här snabbstarten har du anropat REST API-slutpunkten för Resource Graph och kört din första fråga. Om du vill veta mer om resource graph-språket fortsätter du till informationssidan för frågespråket.