Guida introduttiva: Eseguire la prima query di Resource Graph usando l'API REST

Il primo passaggio da eseguire per usare Azure Resource Graph con l'API REST consiste nel verificare che sia disponibile uno strumento per chiamare le API REST. Questo argomento di avvio rapido illustra il processo di esecuzione di una query e di recupero dei risultati mediante la chiamata dell'endpoint dell'API REST di Azure Resource Graph.

Al termine della procedura, gli strumenti per chiamare gli endpoint dell'API REST saranno disponibili e sarà possibile eseguire la prima query di Resource Graph.

Prerequisiti

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.

Azure Cloud Shell

Azure Cloud Shell è un ambiente di shell interattivo ospitato in Azure e usato tramite il browser. È possibile usare Bash o PowerShell con Cloud Shell per usare i servizi di Azure. È possibile usare i comandi preinstallati di Cloud Shell per eseguire il codice in questo articolo, senza dover installare alcun elemento nell'ambiente locale.

Per avviare Azure Cloud Shell:

Opzione Esempio/Collegamento
Selezionare Prova nell'angolo superiore destro di un codice o di un blocco di comandi. Selezionando Prova non viene copiato automaticamente il codice o il comando in Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Passare a https://shell.azure.com o selezionare il pulsante Avvia Cloud Shell per aprire Cloud Shell nel browser. Button to launch Azure Cloud Shell.
Selezionare il pulsante Cloud Shell nella barra dei menu nell'angolo in alto a destra del portale di Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Per usare Azure Cloud Shell:

  1. Avviare Cloud Shell.

  2. Selezionare il pulsante Copia in un blocco di codice (o blocco di comandi) per copiare il codice o il comando.

  3. Incollare il codice o il comando nella sessione di Cloud Shell selezionando CTRL+MAIUSC+V in Windows e Linux oppure selezionando CMD+MAIUSC+V in macOS.

  4. Selezionare INVIO per eseguire il codice o il comando.

Introduzione all'API REST

Se non si ha familiarità con l'API REST, iniziare consultando le informazioni di riferimento sull'API REST di Azure per acquisire una comprensione generale dell'API REST, in particolare dell'URI della richiesta e del corpo della richiesta. Questo articolo usa questi concetti per fornire indicazioni sull'uso di Azure Resource Graph e ne presuppone una certa conoscenza. Strumenti come ARMClient e altri possono gestire automaticamente l'autorizzazione e sono consigliati per gli utenti meno esperti.

Per le specifiche di Azure Resource Graph, vedere API REST di Azure Resource Graph.

API REST e PowerShell

Se non si ha già uno strumento per effettuare chiamate API REST, provare a usare PowerShell per queste istruzioni. Il codice di esempio seguente consente di recuperare un'intestazione per l'autenticazione con Azure. Generare un'intestazione di autenticazione, talvolta denominata bearer tokene fornire l'URI dell'API REST cui connettersi con qualsiasi parametro o un corpo della richiesta:

# 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

La variabile $response contiene il risultato del cmdlet Invoke-RestMethod, che può essere analizzato con cmdlet come ConvertFrom-Json. Se l'endpoint servizio API REST si aspetta un corpo della richiesta, fornire una variabile in formato JSON per il parametro -Body di Invoke-RestMethod.

Eseguire la prima query di Resource Graph

Con gli strumenti dell'API REST aggiunti all'ambiente preferito, è possibile provare una semplice query di Resource Graph basata su sottoscrizione. La query restituisce le prime cinque risorse di Azure con il nome e il tipo di risorsa di ogni risorsa. Per eseguire query in base al gruppo di gestione, usare managementgroups invece di subscriptions. Per eseguire una query sull'intero tenant, omettere le managementgroups proprietà e subscriptions dal corpo della richiesta.

Nel corpo della richiesta di ogni chiamata all'API REST è presente una variabile che è necessario sostituire con il valore personalizzato:

  • {subscriptionID}: sostituire con l'ID sottoscrizione
  1. Eseguire la prima query di Azure Resource Graph usando l'API REST e l'endpoint resources:

    • URI DELL'API REST

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

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

    Nota

    Poiché questo esempio di query non prevede un modificatore del tipo di ordinamento, ad esempio order by, se si esegue questa query più volte, è probabile che venga restituito un set di risorse diverso per ogni richiesta.

  2. Aggiornare la chiamata all'endpoint resouces e modificare la query per applicare order by alla proprietà Name:

    • URI DELL'API REST

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

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

    Nota

    Come nella prima query, se si esegue questa query più volte, è probabile che venga restituito un set di risorse diverso per ogni richiesta. L'ordine dei comandi della query è importante. In questo esempio order by segue limit. Questo ordine dei comandi prima limita i risultati della query e successivamente li ordina.

  3. Aggiornare la chiamata a resources e modificare la query per applicare prima order by alla proprietà Name e quindi limit ai primi cinque risultati:

    • URI DELL'API REST

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

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

Quando la query finale viene eseguita più volte, presupponendo che non vengano apportate modifiche all'ambiente, i risultati restituiti saranno coerenti e ordinati in base alla proprietà Name, ma ancora limitati ai primi cinque risultati.

Per altri esempi di chiamate ad API REST per Azure Resource Graph, vedere gli esempi REST di Azure Resource Graph.

Pulire le risorse

L'API REST non prevede librerie o moduli da disinstallare. Se è stato installato uno strumento come ARMClient per effettuare le chiamate e non è più necessario, è possibile disinstallare lo strumento ora.

Passaggi successivi

In questo argomento di avvio rapido è stato chiamato l'endpoint dell'API REST di Resource Graph ed è stata eseguita la prima query. Per altre informazioni sul linguaggio di Resource Graph, passare alla pagina dei dettagli del linguaggio di query.