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
- Sollten Sie kein Azure-Konto haben, erstellen Sie zunächst ein kostenloses Konto.
- Aktuelle Version von PowerShell oder Bash-Shell wie Git Bash.
- Neueste Version von Azure CLI.
- Visual Studio Code.
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.