Szybki start: uruchamianie pierwszego zapytania usługi Resource Graph przy użyciu interfejsu API REST

Pierwszym krokiem do korzystania z usługi Azure Resource Graph z interfejsem API REST jest sprawdzenie, czy masz narzędzie do wywoływania dostępnych interfejsów API REST. Ten przewodnik Szybki start przeprowadzi Cię przez proces uruchamiania zapytania i pobierania wyników przez wywołanie punktu końcowego interfejsu API REST usługi Azure Resource Graph.

Na końcu tego procesu będziesz mieć narzędzia do wywoływania punktów końcowych interfejsu API REST i uruchamiania pierwszego zapytania usługi Resource Graph.

Wymagania wstępne

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Azure Cloud Shell

Na platforma Azure hostowane jest Azure Cloud Shell, interaktywne środowisko powłoki, z którego można korzystać w przeglądarce. Do pracy z usługami platformy Azure można używać programu Bash lub PowerShell w środowisku Cloud Shell. Aby uruchomić kod w tym artykule, możesz użyć wstępnie zainstalowanych poleceń usługi Cloud Shell bez konieczności instalowania niczego w środowisku lokalnym.

Aby uruchomić środowisko Azure Cloud Shell:

Opcja Przykład/link
Wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu lub polecenia. Wybranie pozycji Wypróbuj nie powoduje automatycznego skopiowania kodu lub polecenia do usługi Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Przejdź do witryny https://shell.azure.com lub wybierz przycisk Uruchom Cloud Shell, aby otworzyć środowisko Cloud Shell w przeglądarce. Button to launch Azure Cloud Shell.
Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu witryny Azure Portal. Screenshot that shows the Cloud Shell button in the Azure portal

Aby użyć usługi Azure Cloud Shell:

  1. Uruchom usługę Cloud Shell.

  2. Wybierz przycisk Kopiuj w bloku kodu (lub bloku poleceń), aby skopiować kod lub polecenie.

  3. Wklej kod lub polecenie do sesji usługi Cloud Shell, wybierając klawisze Ctrl+Shift V w systemach Windows i Linux lub wybierając pozycję Cmd+Shift++V w systemie macOS.

  4. Wybierz klawisz Enter, aby uruchomić kod lub polecenie.

Wprowadzenie do interfejsu API REST

Jeśli jeszcze nie znasz interfejsu API REST, zacznij od przejrzenia dokumentacji interfejsu API REST platformy Azure, aby uzyskać ogólny opis interfejsu API REST, a w szczególności identyfikatora URI żądania i treści żądania. W tym artykule użyto tych pojęć w celu zapewnienia wskazówek dotyczących pracy z usługą Azure Resource Graph i przyjęto założenie działającej wiedzy na ich temat. Narzędzia, między innymi takie jak ARMClient, mogą automatycznie obsługiwać autoryzację i są zalecane dla początkujących.

Aby zapoznać się ze specyfikacjami usługi Azure Resource Graph, zobacz Interfejs API REST usługi Azure Resource Graph.

Interfejs API REST i program PowerShell

Jeśli jeszcze nie masz narzędzia do wykonywania wywołań interfejsu API REST, rozważ wykonywanie tych instrukcji w programie PowerShell. Poniższy przykładowy kod pobiera nagłówek do uwierzytelniania za pomocą platformy Azure. Wygeneruj nagłówek uwierzytelniania, czasami nazywany tokenem elementu nośnego, i podaj identyfikator URI interfejsu API REST, z którym chcesz nawiązać połączenie, za pomocą dowolnych parametrów lub treści żądania:

# 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

Zmienna $response zawiera wynik Invoke-RestMethod polecenia cmdlet, które można przeanalizować za pomocą poleceń cmdlet, takich jak ConvertFrom-Json. Jeśli punkt końcowy usługi interfejsu API REST oczekuje treści żądania, podaj zmienną w formacie JSON dla parametru -Body polecenia Invoke-RestMethod.

Uruchamianie pierwszego zapytania usługi Resource Graph

Po dodaniu narzędzi interfejsu API REST do wybranego środowiska nadszedł czas, aby wypróbować proste zapytanie usługi Resource Graph oparte na subskrypcji. Zapytanie zwraca pierwsze pięć zasobów platformy Azure z nazwą i typem zasobu każdego zasobu. Aby wykonywać zapytania według grupy zarządzania, użyj polecenia managementgroups zamiast subscriptions. Aby wysłać zapytanie do całej dzierżawy, pomiń właściwości managementgroups i subscriptions z treści żądania.

W treści żądania każdego wywołania interfejsu API REST istnieje zmienna, która jest używana, aby zastąpić własną wartością:

  • {subscriptionID} — zastąp swoim identyfikatorem subskrypcji
  1. Uruchom pierwsze zapytanie usługi Azure Resource Graph przy użyciu interfejsu API REST i punktu końcowego resources :

    • Identyfikator URI interfejsu API REST

      POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2021-03-01
      
    • Treść żądania

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

    Uwaga

    Ponieważ ten przykład zapytania nie udostępnia modyfikatora sortowania, takiego jak order by, uruchomienie tego zapytania wiele razy może spowodować uzyskanie innego zestawu zasobów na żądanie.

  2. Zaktualizuj wywołanie punktu końcowego resouces i zmień zapytanie na order bywłaściwość Name :

    • Identyfikator URI interfejsu API REST

      POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2021-03-01
      
    • Treść żądania

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

    Uwaga

    Tak samo jak w przypadku pierwszego zapytania, wielokrotne uruchomienie tego zapytania prawdopodobnie zwróci inny zestaw zasobów dla każdego żądania. Kolejność poleceń zapytania jest ważna. W tym przykładzie polecenie order by następuje po poleceniu limit. To polecenie najpierw ogranicza wyniki zapytania, a następnie porządkuje je.

  3. Zaktualizuj wywołanie punktu końcowego resources i zmień zapytanie na najpierw order bywłaściwość Name , a następnie limit na pięć pierwszych wyników:

    • Identyfikator URI interfejsu API REST

      POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2021-03-01
      
    • Treść żądania

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

Gdy ostatnie zapytanie jest uruchamiane kilka razy, przy założeniu, że nic w danym środowisku się nie zmienia, zwracane wyniki są spójne i uporządkowane według właściwości Name , ale nadal ograniczone do pięciu pierwszych wyników.

Aby uzyskać więcej przykładów wywołań interfejsu API REST dla usługi Azure Resource Graph, zobacz Przykłady rest usługi Azure Resource Graph.

Czyszczenie zasobów

Interfejs API REST nie ma bibliotek ani modułów do odinstalowania. Jeśli zainstalowano narzędzie, takie jak ARMClient , aby wykonać wywołania i nie jest już potrzebne, możesz teraz odinstalować narzędzie.

Następne kroki

W tym przewodniku Szybki start wywołaliśmy punkt końcowy interfejsu API REST usługi Resource Graph i uruchomiliśmy pierwsze zapytanie. Aby dowiedzieć się więcej na temat języka usługi Resource Graph, przejdź do strony szczegółów języka zapytań.