Schnellstart: Ausführen einer Resource Graph-Abfrage mithilfe der REST-API

Dieser Schnellstart beschreibt, wie Sie eine Azure Resource Graph-Abfrage mit der REST-API ausführen und die Ergebnisse anzeigen. Die REST-API-Elemente sind ein URI, der die API-Version enthält, und ein Anforderungstext, der die Abfrage enthält. Diese Beispiele verwenden Azure CLI, um sich bei Azure anzumelden und Ihr Konto für die Ausführung von az rest-Befehlen zu authentifizieren.

Sollten Sie noch nicht mit der REST-API vertraut sein, finden Sie unter Azure REST-API-Referenz eine allgemeine Übersicht über die REST-API (insbesondere über den Anforderungs-URI und den Anforderungstext). Informationen zu den Spezifikationen von Azure Resource Graph finden Sie unter Azure Resource Graph-REST-API.

Voraussetzungen

Herstellen einer Verbindung mit Azure

Stellen Sie in einer Visual Studio Code-Terminalsitzung eine Verbindung mit Azure her. Wenn Sie über mehrere Abonnements verfügen, führen Sie die Befehle aus, um den Kontext für Ihr Abonnement festzulegen. Ersetzen Sie {subscriptionID} durch Ihre Azure-Abonnement-ID.

az login

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

Verwenden Sie az login auch dann, wenn Sie PowerShell verwenden, da in den Beispielen Azure CLI az rest -Befehle verwendet werden.

Überprüfen der REST-API-Syntax

Es gibt zwei Elemente zum Ausführen von REST-API-Befehlen: den REST-API-URI und den Anforderungstext. Für Informationen wechseln Sie zu Ressourcen. Für eine Abfrage nach Verwaltungsgruppe verwenden Sie managementGroups anstelle von subscriptions. Wenn Sie den gesamten Mandanten abfragen möchten, lassen Sie die beiden Eigenschaften managementGroups und subscriptions im Anforderungstext weg.

Das folgende Beispiel zeigt die REST-API-URI-Syntax zum Ausführen einer Abfrage für ein Azure-Abonnement.

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

Zum Ausführen einer Abfrage mit der REST-API ist ein Anforderungstext erforderlich. Das folgende Beispiel ist der JSON zum Erstellen einer Anforderungstextdatei.

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

Ausführen einer Resource Graph-Abfrage

Die Beispiele verwenden denselben az rest-Befehl, aber Sie ändern den Anforderungstext, um unterschiedliche Ergebnisse zu erhalten. Die Beispiele listen Ressourcen auf, sortieren Ressourcen nach der name-Eigenschaft und sortieren Ressourcen nach der name-Eigenschaft und schränken die Anzahl der Ergebnisse ein.

Verwenden Sie zum Ausführen aller Abfragebeispiele den folgenden az rest-Befehl für Ihre Shellumgebung:

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

In PowerShell ist der Backtick (`) erforderlich, um ein Escape für at sign (@) durchzuführen, um einen Dateinamen für den Anforderungstext anzugeben.

Ersetzen Sie {subscriptionID} in jedem Anforderungstextbeispiel durch Ihre Azure-Abonnement-ID. Führen Sie den folgenden Befehl aus, um Ihre Azure-Abonnement-ID für den Anforderungstext abzurufen:

az account show --query id --output tsv

Ressourcen auflisten

Erstellen Sie in Visual Studio Code eine neue Datei mit dem Namen request-body.json. Kopieren Sie die folgenden JSON in die Datei, und speichern Sie die Datei.

Die Abfrage gibt fünf Azure-Ressourcen mit dem name und resource type der jeweiligen Ressource zurück.

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

Da dieses Abfragebeispiel keinen Sortiermodifizierer wie order by bereitstellt, ergibt die mehrfache Ausführung dieser Abfrage pro Anforderung einen anderen Satz von Ressourcen.

Eigenschaft „Sortieren nach Name“

Aktualisieren Sie request-body.json mit dem folgenden Code, der die Eigenschaft der Abfrage in „order by nach name„ ändert. Speichern Sie die Datei, und verwenden Sie den Befehl az rest, um die Abfrage auszuführen.

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

Wenn Sie diese Abfrage mehrfach ausführen, wird sie pro Anforderung einen anderen Satz von Ressourcen ergeben.

Die Reihenfolge der Abfragebefehle ist wichtig. In diesem Beispiel kommt order by nach limit. Diese Befehlsreihenfolge beschränkt die Abfrageergebnisse auf fünf Ressourcen und sortiert sie anschließend.

Eigenschaft „Sortieren nach Name“ und Einschränken der Ergebnisse

Aktualisieren Sie request-body.json mit dem folgenden Code, der die Eigenschaft in „order by nach name„ ändert und dann auf die fünf wichtigsten Ergebnisse limit. Speichern Sie die Datei, und verwenden Sie denselben Befehl az rest, um die Abfrage auszuführen.

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

Wenn die Abfrage mehrmals ausgeführt wird und in Ihrer Umgebung keine Änderungen auftreten, sind die zurückgegebenen Ergebnisse konsistent und nach der Eigenschaft name sortiert, aber auf die wichtigsten fünf Ergebnisse begrenzt.

Bereinigen von Ressourcen

Melden Sie sich von Ihrer Azure CLI-Sitzung ab.

az logout

Nächste Schritte

In diesem Schnellstart haben Sie den REST-API-Endpunkt von Azure Resource Graph zum Ausführen einer Abfrage verwendet. Wenn Sie mehr über die Resource Graph-Sprache erfahren möchten, fahren Sie mit der Seite mit den Details zur Abfragesprache fort.