Schnellstart: Ausführen Ihrer ersten Resource Graph-Abfrage per REST-API

Der erste Schritt zum Verwenden von Azure Resource Graph mit der REST-API umfasst die Überprüfung, ob Sie über ein Tool zum Aufrufen von REST-APIs verfügen. In dieser Schnellstartanleitung wird dann Schritt für Schritt beschrieben, wie Sie eine Abfrage ausführen und die Ergebnisse abrufen, indem Sie den Azure Resource Graph-REST-API-Endpunkt aufrufen.

Am Ende dieses Prozesses verfügen Sie über die Tools zum Aufrufen von REST-API-Endpunkten und zum Ausführen Ihrer ersten Resource Graph-Abfrage.

Voraussetzungen

Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

Azure Cloud Shell

Azure hostet Azure Cloud Shell, eine interaktive Shell-Umgebung, die Sie über Ihren Browser nutzen können. Sie können entweder Bash oder PowerShell mit Cloud Shell verwenden, um mit Azure-Diensten zu arbeiten. Sie können die vorinstallierten Befehle von Cloud Shell verwenden, um den Code in diesem Artikel auszuführen, ohne etwas in Ihrer lokalen Umgebung installieren zu müssen.

Starten von Azure Cloud Shell:

Option Beispiel/Link
Wählen Sie rechts oben in einem Code- oder Befehlsblock die Option Ausprobieren aus. Durch die Auswahl von Ausprobieren wird der Code oder Befehl nicht automatisch in Cloud Shell kopiert. Screenshot that shows an example of Try It for Azure Cloud Shell.
Rufen Sie https://shell.azure.com auf, oder klicken Sie auf die Schaltfläche Cloud Shell starten, um Cloud Shell im Browser zu öffnen. Button to launch Azure Cloud Shell.
Wählen Sie im Azure-Portal rechts oben im Menü die Schaltfläche Cloud Shell aus. Screenshot that shows the Cloud Shell button in the Azure portal

So verwenden Sie Azure Cloud Shell:

  1. Starten Sie Cloud Shell.

  2. Wählen Sie die Schaltfläche Kopieren für einen Codeblock (oder Befehlsblock) aus, um den Code oder Befehl zu kopieren.

  3. Fügen Sie den Code oder Befehl mit STRG+UMSCHALT+V unter Windows und Linux oder CMD+UMSCHALT+V unter macOS in die Cloud Shell-Sitzung ein.

  4. Drücken Sie die EINGABETASTE, um den Code oder Befehl auszuführen.

Erste Schritte mit der REST-API

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). In diesem Artikel dienen diese Konzepte als Grundlage für die Anweisungen zur Verwendung von Azure Resource Graph. Aus diesem Grund werden entsprechende Grundkenntnisse vorausgesetzt. Mit Tools wie ARMClient kann die Autorisierung automatisch durchgeführt werden. Diese Tools werden für Anfänger empfohlen.

Informationen zu den Spezifikationen von Azure Resource Graph finden Sie unter Azure Resource Graph-REST-API.

REST-API und PowerShell

Wenn Sie noch über kein Tool für REST-API-Aufrufe verfügen, können Sie PowerShell für diese Anweisungen verwenden. Im folgenden Codebeispiel wird ein Header für die Authentifizierung bei Azure abgerufen. Generieren Sie einen Authentifizierungsheader, der manchmal als Bearertoken bezeichnet wird, und geben Sie den REST-API-URI für die Verbindung mit Parametern oder einen Anforderungstext an:

# 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

Die Variable $response enthält das Ergebnis des Cmdlets Invoke-RestMethod, das mit Cmdlets wie ConvertFrom-Json analysiert werden kann. Wenn im REST-API-Dienstendpunkt ein Anforderungstext erwartet wird, geben Sie eine JSON-formatierte Variable für den Parameter -Body von Invoke-RestMethod an.

Ausführen Ihrer ersten Resource Graph-Abfrage

Nachdem die REST-API-Tools Ihrer gewünschten Umgebung hinzugefügt wurden, können Sie jetzt eine einfache, abonnementbasierte Resource Graph-Abfrage ausprobieren. Die Abfrage gibt die ersten fünf Azure-Ressourcen mit dem Namen und Ressourcentyp der einzelnen Ressourcen zurück. 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.

Im Anforderungstext jedes REST-API-Aufrufs ist eine Variable enthalten, die Sie durch Ihren eigenen Wert ersetzen müssen:

  • Ersetzen Sie {subscriptionID} durch Ihre Abonnement-ID.
  1. Führen Sie Ihre erste Azure Resource Graph-Abfrage aus, indem Sie die REST-API und den Endpunkt resources verwenden:

    • REST-API-URI

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

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

    Hinweis

    Da dieses Abfragebeispiel keinen Sortierungsmodifizierer wie order by umfasst, ergibt die mehrfache Ausführung dieser Abfrage unter Umständen pro Anforderung einen anderen Satz von Ressourcen.

  2. Aktualisieren Sie den Aufruf des Endpunkts resouces, und ändern Sie die Abfrage so, dass die Sortierung (order by) nach der Eigenschaft Name erfolgt:

    • REST-API-URI

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

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

    Hinweis

    Genau wie bei der ersten Abfrage ergibt die mehrfache Ausführung dieser Abfrage vermutlich pro Anforderung einen anderen Satz von Ressourcen. Die Reihenfolge der Abfragebefehle ist wichtig. In diesem Beispiel kommt order by nach limit. Durch diese Befehlsreihenfolge werden die Abfrageergebnisse zuerst eingeschränkt und dann sortiert.

  3. Aktualisieren Sie den Aufruf des Endpunkts resources, und ändern Sie die Abfrage so, dass zuerst die Sortierung (order by) nach der Eigenschaft Name und dann die Begrenzung (limit) auf die ersten fünf Ergebnisse erfolgt:

    • REST-API-URI

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

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

Wenn die letzte Abfrage mehrmals ausgeführt wird und in Ihrer Umgebung keine Änderungen vorgenommenen werden, sind die zurückgegebenen Ergebnisse konsistent und nach der Eigenschaft Name sortiert, aber immer noch auf die ersten fünf Ergebnisse begrenzt.

Weitere Beispiele für REST-API-Aufrufe für Azure Resource Graph finden Sie in den REST-Beispielen für Azure Resource Graph.

Bereinigen von Ressourcen

Für die REST-API müssen keine Bibliotheken oder Module deinstalliert werden. Wenn Sie ein Tool zum Durchführen der Aufrufe installiert haben, z. B. ARMClient, und es nicht mehr benötigen, können Sie es jetzt deinstallieren.

Nächste Schritte

In dieser Schnellstartanleitung haben Sie den Resource Graph-REST-API-Endpunkt aufgerufen und Ihre erste Abfrage ausgeführt. Wenn Sie mehr über die Resource Graph-Sprache erfahren möchten, fahren Sie mit der Seite mit den Details zur Abfragesprache fort.