Resources - Resources
Esegue una query sulle risorse gestite da Azure Resource Manager per individuare gli ambiti specificati nella richiesta.
POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2024-04-01
Parametri dell'URI
Nome | In | Necessario | Tipo | Descrizione |
---|---|---|---|---|
api-version
|
query | True |
string minLength: 1 |
Versione dell'API da usare per questa operazione. |
Corpo della richiesta
Nome | Necessario | Tipo | Descrizione |
---|---|---|---|
query | True |
string |
Query sulle risorse. |
facets |
Matrice di richieste di facet da calcolare in base al risultato della query. |
||
managementGroups |
string[] |
Gruppi di gestione di Azure su cui eseguire la query. Esempio: [ 'mg1', 'mg2' ] |
|
options |
Opzioni di valutazione delle query |
||
subscriptions |
string[] |
Sottoscrizioni di Azure su cui eseguire la query. |
Risposte
Nome | Tipo | Descrizione |
---|---|---|
200 OK |
Risultato dell'operazione di query |
|
Other Status Codes |
Errore durante l'elaborazione della richiesta. Vedere il parametro error.code per identificare l'errore specifico. |
Sicurezza
azure_auth
Flusso OAuth2 di Azure Active Directory
Tipo:
oauth2
Flow:
implicit
URL di autorizzazione:
https://login.microsoftonline.com/common/oauth2/authorize
Ambiti
Nome | Descrizione |
---|---|
user_impersonation | rappresentare l'account utente |
Esempio
Access a properties field
Esempio di richiesta
POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2024-04-01
{
"subscriptions": [
"cfbbd179-59d2-4052-aa06-9270a38aa9d6"
],
"query": "Resources | where type =~ 'Microsoft.Compute/virtualMachines' | summarize count() by tostring(properties.storageProfile.osDisk.osType)"
}
Risposta di esempio
{
"totalRecords": 2,
"count": 2,
"resultTruncated": "false",
"facets": [],
"data": [
{
"properties_storageProfile_osDisk_osType": "Linux",
"count": 7
},
{
"properties_storageProfile_osDisk_osType": "Windows",
"count": 23
}
]
}
Basic management group query
Esempio di richiesta
POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2024-04-01
{
"managementGroups": [
"e927f598-c1d4-4f72-8541-95d83a6a4ac8",
"ProductionMG"
],
"query": "Resources | project id, name, type, location, tags | limit 3"
}
Risposta di esempio
{
"totalRecords": 3,
"count": 3,
"resultTruncated": "false",
"facets": [],
"data": [
{
"id": "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG1/providers/Microsoft.Network/networkInterfaces/myNetworkInterface",
"name": "myNetworkInterface",
"type": "microsoft.network/networkinterfaces",
"location": "centralus",
"tags": {
"tag1": "Value1"
}
},
{
"id": "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG2/providers/Microsoft.Network/virtualNetworks/myVnet",
"name": "myVnet",
"type": "microsoft.network/virtualnetworks",
"location": "westus",
"tags": {}
},
{
"id": "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG2/providers/Microsoft.Network/publicIPAddresses/myPublicIp",
"name": "myPublicIp",
"type": "microsoft.network/publicipaddresses",
"location": "westus",
"tags": {}
}
]
}
Basic query
Esempio di richiesta
POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2024-04-01
{
"subscriptions": [
"cfbbd179-59d2-4052-aa06-9270a38aa9d6"
],
"query": "Resources | project id, name, type, location, tags | limit 3"
}
Risposta di esempio
{
"totalRecords": 3,
"count": 3,
"resultTruncated": "false",
"facets": [],
"data": [
{
"id": "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG1/providers/Microsoft.Network/networkInterfaces/myNetworkInterface",
"name": "myNetworkInterface",
"type": "microsoft.network/networkinterfaces",
"location": "centralus",
"tags": {
"tag1": "Value1"
}
},
{
"id": "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG2/providers/Microsoft.Network/virtualNetworks/myVnet",
"name": "myVnet",
"type": "microsoft.network/virtualnetworks",
"location": "westus",
"tags": {}
},
{
"id": "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG2/providers/Microsoft.Network/publicIPAddresses/myPublicIp",
"name": "myPublicIp",
"type": "microsoft.network/publicipaddresses",
"location": "westus",
"tags": {}
}
]
}
Basic tenant query
Esempio di richiesta
POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2024-04-01
{
"query": "Resources | project id, name, type, location, tags | limit 3"
}
Risposta di esempio
{
"totalRecords": 3,
"count": 3,
"resultTruncated": "false",
"facets": [],
"data": [
{
"id": "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG1/providers/Microsoft.Network/networkInterfaces/myNetworkInterface",
"name": "myNetworkInterface",
"type": "microsoft.network/networkinterfaces",
"location": "centralus",
"tags": {
"tag1": "Value1"
}
},
{
"id": "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG2/providers/Microsoft.Network/virtualNetworks/myVnet",
"name": "myVnet",
"type": "microsoft.network/virtualnetworks",
"location": "westus",
"tags": {}
},
{
"id": "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG2/providers/Microsoft.Network/publicIPAddresses/myPublicIp",
"name": "myPublicIp",
"type": "microsoft.network/publicipaddresses",
"location": "westus",
"tags": {}
}
]
}
Complex query
Esempio di richiesta
POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2024-04-01
{
"subscriptions": [
"cfbbd179-59d2-4052-aa06-9270a38aa9d6"
],
"query": "Resources | project id, name, type, location | where type =~ 'Microsoft.Compute/virtualMachines' | summarize count() by location | top 3 by count_"
}
Risposta di esempio
{
"totalRecords": 3,
"count": 3,
"resultTruncated": "false",
"facets": [],
"data": [
{
"location": "centralus",
"count_": 11
},
{
"location": "eastus",
"count_": 11
},
{
"location": "southcentralus",
"count_": 3
}
]
}
Filter resources
Esempio di richiesta
POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2024-04-01
{
"subscriptions": [
"cfbbd179-59d2-4052-aa06-9270a38aa9d6"
],
"query": "Resources | project id, name, type, location | where type =~ 'Microsoft.Compute/virtualMachines' | limit 3"
}
Risposta di esempio
{
"totalRecords": 3,
"count": 3,
"resultTruncated": "false",
"facets": [],
"data": [
{
"id": "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG1/providers/Microsoft.Compute/virtualMachines/myVm1",
"name": "myVm1",
"type": "microsoft.compute/virtualmachines",
"location": "centralus"
},
{
"id": "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG2/providers/Microsoft.Compute/virtualMachines/myVirtualMachine",
"name": "myVirtualMachine",
"type": "microsoft.compute/virtualmachines",
"location": "eastus"
},
{
"id": "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG3/providers/Microsoft.Compute/virtualMachines/testVm",
"name": "testVm",
"type": "microsoft.compute/virtualmachines",
"location": "eastus"
}
]
}
First page query
Esempio di richiesta
POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2024-04-01
{
"subscriptions": [
"cfbbd179-59d2-4052-aa06-9270a38aa9d6"
],
"query": "Resources | where name contains 'test' | project id, name, type, location",
"options": {
"$top": 3,
"$skip": 0
}
}
Risposta di esempio
{
"totalRecords": 386,
"count": 3,
"resultTruncated": "false",
"facets": [],
"$skipToken": "eyAibm8iOiAibHVjayIsICJidXQiOiAibmljZSIsICJ0cnkiOiAiISIgfQ==",
"data": [
{
"id": "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG1/providers/Microsoft.Compute/disks/yetanothertest_OsDisk_1_f396cbcb625a457bb69fe2abf5975820",
"name": "yetanothertest_OsDisk_1_f396cbcb625a457bb69fe2abf5975820",
"type": "microsoft.compute/disks",
"location": "eastus"
},
{
"id": "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG2/providers/Microsoft.Automation/automationAccounts/TestAA",
"name": "TestAA",
"type": "microsoft.automation/automationaccounts",
"location": "westcentralus"
},
{
"id": "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG2/providers/Microsoft.Automation/automationAccounts/TestAA/runbooks/TestRB",
"name": "TestRB",
"type": "microsoft.automation/automationaccounts/runbooks",
"location": "westcentralus"
}
]
}
Next page query
Esempio di richiesta
POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2024-04-01
{
"subscriptions": [
"cfbbd179-59d2-4052-aa06-9270a38aa9d6"
],
"query": "Resources | where name contains 'test' | project id, name, type, location",
"options": {
"$skipToken": "eyAibm8iOiAibHVjayIsICJidXQiOiAibmljZSIsICJ0cnkiOiAiISIgfQ=="
}
}
Risposta di esempio
{
"totalRecords": 386,
"count": 3,
"resultTruncated": "false",
"facets": [],
"$skipToken": "eyAibm8yIjogImx1Y2syIiwgImJ1dDIiOiAibmljZTIiLCAidHJ5MiI6ICIhIiB9",
"data": [
{
"id": "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG1/providers/Microsoft.Compute/disks/second_OsDisk_dddddbcb625a457bb69fe2abf5975820",
"name": "second_OsDisk_dddddbcb625a457bb69fe2abf5975820",
"type": "microsoft.compute/disks",
"location": "eastus"
},
{
"id": "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG2/providers/Microsoft.Automation/automationAccounts/AATest",
"name": "AATest",
"type": "microsoft.automation/automationaccounts",
"location": "westcentralus"
},
{
"id": "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG2/providers/Microsoft.Automation/automationAccounts/TestAA/runbooks/RBTest",
"name": "RBTest",
"type": "microsoft.automation/automationaccounts/runbooks",
"location": "westcentralus"
}
]
}
Query with a facet request
Esempio di richiesta
POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2024-04-01
{
"subscriptions": [
"cfbbd179-59d2-4052-aa06-9270a38aa9d6"
],
"query": "Resources | where type =~ 'Microsoft.Compute/virtualMachines' | project id, name, location, resourceGroup, properties.storageProfile.osDisk.osType | limit 5",
"facets": [
{
"expression": "location",
"options": {
"sortOrder": "desc",
"$top": 3
}
},
{
"expression": "properties.storageProfile.osDisk.osType",
"options": {
"sortOrder": "desc",
"$top": 3
}
},
{
"expression": "nonExistingColumn",
"options": {
"sortOrder": "desc",
"$top": 3
}
},
{
"expression": "resourceGroup",
"options": {
"sortBy": "tolower(resourceGroup)",
"sortOrder": "asc",
"$top": 3
}
},
{
"expression": "resourceGroup",
"options": {
"filter": "resourceGroup contains 'test'",
"$top": 3
}
}
]
}
Risposta di esempio
{
"totalRecords": 5,
"count": 5,
"resultTruncated": "false",
"data": [
{
"id": "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/B-TEST-RG/providers/Microsoft.Compute/virtualMachines/myTestVm",
"name": "myTestVm",
"location": "eastus",
"resourceGroup": "B-TEST-RG",
"properties_storageProfile_osDisk_osType": "Windows"
},
{
"id": "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/c-rg/providers/Microsoft.Compute/virtualMachines/myTestAccountVm",
"name": "myTestAccountVm",
"location": "westcentralus",
"resourceGroup": "c-rg",
"properties_storageProfile_osDisk_osType": "Windows"
},
{
"id": "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/I-RG/providers/Microsoft.Compute/virtualMachines/yetanothertest",
"name": "yetanothertest",
"location": "eastus",
"resourceGroup": "I-RG",
"properties_storageProfile_osDisk_osType": "Linux"
},
{
"id": "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/x-test-rg/providers/Microsoft.Compute/virtualMachines/drafttest1bux4cv7a7q3aw",
"name": "drafttest1bux4cv7a7q3aw",
"location": "southcentralus",
"resourceGroup": "x-test-rg",
"properties_storageProfile_osDisk_osType": "Linux"
},
{
"id": "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/y-rg/providers/Microsoft.Compute/virtualMachines/testvmntp25370",
"name": "testvmntp25370",
"location": "eastus",
"resourceGroup": "y-rg",
"properties_storageProfile_osDisk_osType": "Windows"
}
],
"facets": [
{
"expression": "location",
"resultType": "FacetResult",
"totalRecords": 3,
"count": 3,
"data": [
{
"location": "eastus",
"count": 3
},
{
"location": "southcentralus",
"count": 1
},
{
"location": "westcentralus",
"count": 1
}
]
},
{
"expression": "properties.storageProfile.osDisk.osType",
"resultType": "FacetResult",
"totalRecords": 2,
"count": 2,
"data": [
{
"properties_storageProfile_osDisk_osType": "Linux",
"count": 2
},
{
"properties_storageProfile_osDisk_osType": "Windows",
"count": 3
}
]
},
{
"expression": "nonExistingColumn",
"resultType": "FacetError",
"errors": [
{
"code": "NoValidColumns",
"message": "No valid columns in facet expression."
},
{
"code": "InvalidColumnNames",
"message": "Invalid column names: [nonExistingColumn]."
}
]
},
{
"expression": "resourceGroup",
"resultType": "FacetResult",
"totalRecords": 5,
"count": 3,
"data": [
{
"resourceGroup": "B-TEST-RG",
"count": 1
},
{
"resourceGroup": "c-rg",
"count": 1
},
{
"resourceGroup": "I-RG",
"count": 1
}
]
},
{
"expression": "resourceGroup",
"resultType": "FacetResult",
"totalRecords": 2,
"count": 2,
"data": [
{
"resourceGroup": "B-TEST-RG",
"count": 1
},
{
"resourceGroup": "x-test-rg",
"count": 1
}
]
}
]
}
Random page query
Esempio di richiesta
POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2024-04-01
{
"subscriptions": [
"cfbbd179-59d2-4052-aa06-9270a38aa9d6"
],
"query": "Resources | where name contains 'test' | project id, name, type, location",
"options": {
"$top": 2,
"$skip": 10
}
}
Risposta di esempio
{
"totalRecords": 386,
"count": 2,
"resultTruncated": "false",
"facets": [],
"$skipToken": "eyAibm8iOiAibHVjayIsICJidXQiOiAibmljZSIsICJ0cnkiOiAiISIgfQ==",
"data": [
{
"id": "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG1/providers/Microsoft.Compute/disks/third_OsDisk_dddddbcb625a457bb69fe2abf5975820",
"name": "third_OsDisk_dddddbcb625a457bb69fe2abf5975820",
"type": "microsoft.compute/disks",
"location": "eastus"
},
{
"id": "/subscriptions/cfbbd179-59d2-4052-aa06-9270a38aa9d6/resourceGroups/RG2/providers/Microsoft.Automation/automationAccounts/CCTest",
"name": "CCTest",
"type": "microsoft.automation/automationaccounts",
"location": "westcentralus"
}
]
}
Summarize resources by location
Esempio di richiesta
POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2024-04-01
{
"subscriptions": [
"cfbbd179-59d2-4052-aa06-9270a38aa9d6"
],
"query": "Resources | project id, name, type, location | summarize by location"
}
Risposta di esempio
{
"totalRecords": 3,
"count": 3,
"resultTruncated": "false",
"facets": [],
"data": [
{
"location": "centralus"
},
{
"location": "eastus"
},
{
"location": "westus"
}
]
}
Definizioni
Nome | Descrizione |
---|---|
Authorization |
Definisce il livello di risorse di autorizzazione da restituire in base alle sottoscrizioni e ai gruppi di gestione passati come ambiti. |
Error |
Informazioni sull'errore. |
Error |
Dettagli errore. |
Error |
Risposta di errore. |
Facet |
Facet la cui esecuzione ha generato un errore. |
Facet |
Richiesta di calcolo di statistiche aggiuntive (facet) sui risultati della query. |
Facet |
Opzioni per la valutazione facet |
Facet |
Facet eseguito correttamente contenente statistiche aggiuntive sulla risposta di una query. |
Facet |
Ordinamento in base alla colonna selezionata (conteggio per impostazione predefinita). |
Query |
Descrive una query da eseguire. |
Query |
Opzioni per la valutazione delle query |
Query |
Risultato della query. |
Result |
Definisce in quale formato viene restituito il risultato della query. |
Result |
Indica se i risultati della query vengono troncati. |
AuthorizationScopeFilter
Definisce il livello di risorse di autorizzazione da restituire in base alle sottoscrizioni e ai gruppi di gestione passati come ambiti.
Valore | Descrizione |
---|---|
AtScopeAboveAndBelow | |
AtScopeAndAbove | |
AtScopeAndBelow | |
AtScopeExact |
Error
Informazioni sull'errore.
Nome | Tipo | Descrizione |
---|---|---|
code |
string |
Codice di errore che identifica l'errore specifico. |
details |
Dettagli errore |
|
message |
string |
Messaggio di errore leggibile. |
ErrorDetails
Dettagli errore.
Nome | Tipo | Descrizione |
---|---|---|
code |
string |
Codice di errore che identifica l'errore specifico. |
message |
string |
Messaggio di errore leggibile. |
ErrorResponse
Risposta di errore.
Nome | Tipo | Descrizione |
---|---|---|
error |
Informazioni sull'errore. |
FacetError
Facet la cui esecuzione ha generato un errore.
Nome | Tipo | Descrizione |
---|---|---|
errors |
Matrice contenente gli errori di facet rilevati con i dettagli. |
|
expression |
string |
Espressione facet, come nella richiesta facet corrispondente. |
resultType | string: |
Tipo di risultato |
FacetRequest
Richiesta di calcolo di statistiche aggiuntive (facet) sui risultati della query.
Nome | Tipo | Descrizione |
---|---|---|
expression |
string |
Colonna o elenco di colonne da riepilogare |
options |
Opzioni per la valutazione facet |
FacetRequestOptions
Opzioni per la valutazione facet
Nome | Tipo | Valore predefinito | Descrizione |
---|---|---|---|
$top |
integer (int32) minimum: 1maximum: 1000 |
Numero massimo di righe di facet che devono essere restituite. |
|
filter |
string |
Specifica la condizione di filtro per la clausola 'where' che verrà eseguita sul risultato della query principale, subito prima del facet effettivo. |
|
sortBy |
string |
Nome della colonna o espressione di query su cui eseguire l'ordinamento. L'impostazione predefinita viene conteggiato se non presente. |
|
sortOrder | desc |
Ordinamento in base alla colonna selezionata (conteggio per impostazione predefinita). |
FacetResult
Facet eseguito correttamente contenente statistiche aggiuntive sulla risposta di una query.
Nome | Tipo | Descrizione |
---|---|---|
count |
integer (int32) |
Numero di record restituiti nella risposta facet. |
data |
object |
Matrice JObject o Tabella contenente i facet desiderati. Presente solo se il facet è valido. |
expression |
string |
Espressione facet, come nella richiesta facet corrispondente. |
resultType | string: |
Tipo di risultato |
totalRecords |
integer (int64) |
Numero di record totali nei risultati del facet. |
FacetSortOrder
Ordinamento in base alla colonna selezionata (conteggio per impostazione predefinita).
Valore | Descrizione |
---|---|
asc | |
desc |
QueryRequest
Descrive una query da eseguire.
Nome | Tipo | Descrizione |
---|---|---|
facets |
Matrice di richieste di facet da calcolare in base al risultato della query. |
|
managementGroups |
string[] |
Gruppi di gestione di Azure su cui eseguire la query. Esempio: [ 'mg1', 'mg2' ] |
options |
Opzioni di valutazione delle query |
|
query |
string |
Query sulle risorse. |
subscriptions |
string[] |
Sottoscrizioni di Azure su cui eseguire la query. |
QueryRequestOptions
Opzioni per la valutazione delle query
Nome | Tipo | Valore predefinito | Descrizione |
---|---|---|---|
$skip |
integer (int32) minimum: 0 |
Numero di righe da ignorare dall'inizio dei risultati. Esegue l'override dell'offset di pagina successivo quando è presente |
|
$skipToken |
string |
Token di continuazione per la paginazione, acquisizione delle dimensioni e dell'offset della pagina successiva, nonché il contesto della query. |
|
$top |
integer (int32) minimum: 1maximum: 1000 |
Numero massimo di righe restituite dalla query. Esegue l'override delle dimensioni della pagina quando è presente |
|
allowPartialScopes |
boolean |
False |
Applicabile solo alle query a livello di tenant e di gruppo di gestione per decidere se consentire ambiti parziali per il risultato nel caso in cui il numero di sottoscrizioni superi i limiti consentiti. |
authorizationScopeFilter | AtScopeAndBelow |
Definisce il livello di risorse di autorizzazione da restituire in base alle sottoscrizioni e ai gruppi di gestione passati come ambiti. |
|
resultFormat | objectArray |
Definisce in quale formato viene restituito il risultato della query. |
QueryResponse
Risultato della query.
Nome | Tipo | Descrizione |
---|---|---|
$skipToken |
string |
Quando presente, il valore può essere passato a una chiamata di query successiva (insieme alla stessa query e agli stessi ambiti usati nella richiesta corrente) per recuperare la pagina successiva dei dati. |
count |
integer (int64) |
Numero di record restituiti nella risposta corrente. Nel caso del paging, si tratta del numero di record nella pagina corrente. |
data |
object |
Output della query in formato JObject o Tabella. |
facets | Facet[]: |
Facet di query. |
resultTruncated |
Indica se i risultati della query vengono troncati. |
|
totalRecords |
integer (int64) |
Numero di record totali corrispondenti alla query. |
ResultFormat
Definisce in quale formato viene restituito il risultato della query.
Valore | Descrizione |
---|---|
objectArray | |
table |
ResultTruncated
Indica se i risultati della query vengono troncati.
Valore | Descrizione |
---|---|
false | |
true |