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. | |
Passare a https://shell.azure.com o selezionare il pulsante Avvia Cloud Shell per aprire Cloud Shell nel browser. | |
Selezionare il pulsante Cloud Shell nella barra dei menu nell'angolo in alto a destra del portale di Azure. |
Per usare Azure Cloud Shell:
Avviare Cloud Shell.
Selezionare il pulsante Copia in un blocco di codice (o blocco di comandi) per copiare il codice o il comando.
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.
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
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.Aggiornare la chiamata all'endpoint
resouces
e modificare la query per applicareorder 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
seguelimit
. Questo ordine dei comandi prima limita i risultati della query e successivamente li ordina.Aggiornare la chiamata a
resources
e modificare la query per applicare primaorder by
alla proprietà Name e quindilimit
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.