Condividi tramite


Guida introduttiva: Eseguire una query di Resource Graph con l'API REST

Questa guida introduttiva descrive come eseguire una query di Azure Resource Graph con l'API REST e visualizzare i risultati. Gli elementi dell'API REST sono un URI che include la versione dell'API e il corpo della richiesta che contiene la query. Gli esempi usano l'interfaccia della riga di comando di Azure per accedere ad Azure e autenticano l'account per eseguire i comandi az 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. Per le specifiche di Azure Resource Graph, vedere API REST di Azure Resource Graph.

Prerequisiti

Connect to Azure

Da una sessione del terminale di Visual Studio Code connettersi ad Azure. Se si dispone di più sottoscrizioni, eseguire i comandi per impostare il contesto sulla sottoscrizione. Sostituire {subscriptionID} con l'ID della sottoscrizione di Azure.

az login

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

Usare az login anche se si usa PowerShell perché gli esempi usano i comandi az rest dell'interfaccia della riga di comando di Azure.

Esaminare la sintassi dell'API REST

Esistono due elementi per eseguire i comandi dell'API REST: l'URI dell'API REST e il corpo della richiesta. Per informazioni, vedere Risorse. Per eseguire query in base al gruppo di gestione, usare managementGroups invece di subscriptions. Per eseguire una query sull'intero tenant, omettere sia la proprietà managementGroups che la proprietà subscriptions dal corpo della richiesta.

L'esempio seguente illustra la sintassi dell'URI dell'API REST per eseguire una query per una sottoscrizione di Azure.

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

Per eseguire una query con l'API REST è necessario un corpo della richiesta. L'esempio seguente mostra il codice JSON per creare un file del corpo della richiesta.

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

Eseguire una query di Resource Graph

Gli esempi usano lo stesso comando az rest ma si modifica il corpo della richiesta per ottenere risultati diversi. Gli esempi elencano le risorse, ordinano le risorse in base alla proprietà name, e ordinano le risorse in base alla proprietà name e limitano il numero di risultati.

Per eseguire tutti gli esempi di query, usare il comando az rest seguente per l'ambiente della shell:

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

In PowerShell è necessario il backtick (`) per eseguire l'escape del at sign (@) per specificare un nome file per il corpo della richiesta.

In ogni esempio di corpo della richiesta sostituire {subscriptionID} con l'ID sottoscrizione di Azure. Eseguire il comando seguente per ottenere l'ID sottoscrizione di Azure per il corpo della richiesta:

az account show --query id --output tsv

Elencare risorse

In Visual Studio Code creare un nuovo file denominato request-body.json. Copiare e incollare il codice JSON seguente nel file e salvare il file.

La query restituisce cinque risorse di Azure con name e resource type di ogni risorsa.

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

Poiché questo esempio di query non fornisce un modificatore di ordinamento come order by, l'esecuzione di questa query produce più volte un set diverso di risorse per ogni richiesta.

Ordina per nome - proprietà

Aggiornare request-body.json con il codice seguente che modifica la query per order by la proprietà name. Salvare il file e usare il comando az rest per eseguire la query.

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

Se si esegue questa query più volte, restituisce un set diverso di risorse per ogni richiesta.

L'ordine dei comandi della query è importante. In questo esempio order by segue limit. Questo ordine dei comandi limita i risultati della query a cinque risorse e quindi li ordina.

Ordinare in base alla proprietà name e limitare i risultati

Aggiornare request-body.json con il codice seguente alla order by proprietà name e quindi limit ai primi cinque risultati. Salvare il file e usare lo stesso comando az rest per eseguire la query.

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

Se la query viene eseguita più volte, presupponendo che nessun elemento nell'ambiente sia cambiato, i risultati restituiti sono coerenti e ordinati in base alla proprietà name, ma limitati ai primi cinque risultati.

Pulire le risorse

Disconnettersi dalla sessione dell'interfaccia della riga di comando di Azure.

az logout

Passaggi successivi

In questa guida introduttiva è stato usato l'endpoint dell'API REST di Azure Resource Graph per eseguire una query. Per altre informazioni sul linguaggio di Resource Graph, passare alla pagina dei dettagli del linguaggio di query.