Dela via


Snabbstart: Köra Resource Graph-fråga med hjälp av REST API

Den här snabbstarten beskriver hur du kör en Azure Resource Graph-fråga med REST API och visar resultatet. REST API-elementen är en URI som innehåller API-versionen och begärandetexten som innehåller frågan. Exemplen använder Azure CLI för att logga in på Azure och som autentiserar ditt konto för att köra az rest kommandon.

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. Mer information om Azure Resource Graph-specifikationerna finns i Rest-API:et för Azure Resource Graph.

Förutsättningar

Ansluta till Azure

Anslut till Azure från en terminalsession i Visual Studio Code. Om du har fler än en prenumeration kör du kommandona för att ange kontext till din prenumeration. Ersätt {subscriptionID} med ditt Azure-prenumerations-ID.

az login

# Run these commands if you have multiple subscriptions
az account list --output table
az account set --subscription {subscriptionID}

Använd az login även om du använder PowerShell eftersom exemplen använder Azure CLI az rest-kommandon .

Granska REST API-syntaxen

Det finns två element för att köra REST API-kommandon: REST API-URI:n och begärandetexten. Mer information finns i Resurser. 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 följande exempel visas URI-syntaxen för REST API för att köra en fråga för en Azure-prenumeration.

POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2022-10-01

En begärandetext krävs för att köra en fråga med REST API. Följande exempel är JSON för att skapa en brödtextfil för begäran.

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

Köra Resource Graph-fråga

Exemplen använder samma az rest kommando, men du ändrar begärandetexten för att få olika resultat. Exemplen visar resurser, beställer resurser efter name egenskapen och beställer resurser efter name egenskapen och begränsar antalet resultat.

Om du vill köra alla frågeexempel använder du följande az rest kommando för shell-miljön:

az rest --method post --uri https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2022-10-01 --body `@request-body.json

I PowerShell krävs backtick (`) för att komma undan at sign (@) för att ange ett filnamn för begärandetexten.

I varje exempel på begärandetext ersätter du {subscriptionID} med ditt Azure-prenumerations-ID. Kör följande kommando för att hämta ditt Azure-prenumerations-ID för begärandetexten:

az account show --query id --output tsv

Lista resurser

Skapa en ny fil med namnet request-body.json i Visual Studio Code. Kopiera och klistra in följande JSON i filen och spara filen.

Frågan returnerar fem Azure-resurser med name och resource type för varje resurs.

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

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

Beställ efter namnegenskap

Uppdatera request-body.json med följande kod som ändrar frågan till order by egenskapen name . Spara filen och använd az rest kommandot för att köra frågan.

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

Om du kör den här frågan flera gånger ger den en annan uppsättning resurser per begäran.

Ordningen på frågekommandona är viktig. I det här exemplet kommer order by efter limit. Den här kommandoordningen begränsar frågeresultatet till fem resurser och beställer dem sedan.

Order efter namnegenskap och begränsa resultat

Uppdatera request-body.json med följande kod till order by name egenskapen och sedan limit till de fem främsta resultaten. Spara filen och använd samma az rest kommando för att köra frågan.

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

Om frågan körs flera gånger, förutsatt att inget i din miljö har ändrats, är de resultat som returneras konsekventa och ordnade efter name egenskapen, men begränsade till de fem främsta resultaten.

Rensa resurser

Logga ut från Azure CLI-sessionen.

az logout

Nästa steg

I den här snabbstarten använde du AZURE Resource Graph REST API-slutpunkten för att köra en fråga. Om du vill veta mer om resource graph-språket fortsätter du till informationssidan för frågespråket.