Resources - Resources
Wysyła zapytania do zasobów zarządzanych przez usługę Azure Resource Manager pod kątem zakresów określonych w żądaniu.
POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2024-04-01
Parametry identyfikatora URI
| Nazwa | W | Wymagane | Typ | Opis |
|---|---|---|---|---|
|
api-version
|
query | True |
string minLength: 1 |
Wersja interfejsu API do użycia dla tej operacji. |
Treść żądania
| Nazwa | Wymagane | Typ | Opis |
|---|---|---|---|
| query | True |
string |
Zapytanie dotyczące zasobów. |
| facets |
Tablica żądań aspektu do obliczenia względem wyniku zapytania. |
||
| managementGroups |
string[] |
Grupy zarządzania platformy Azure, dla których ma zostać wykonane zapytanie. Przykład: [ "mg1", "mg2" ] |
|
| options |
Opcje oceny zapytania |
||
| subscriptions |
string[] |
Subskrypcje platformy Azure, dla których ma zostać wykonane zapytanie. |
Odpowiedzi
| Nazwa | Typ | Opis |
|---|---|---|
| 200 OK |
Wynik operacji zapytania |
|
| Other Status Codes |
Wystąpił błąd podczas przetwarzania żądania. Zobacz parametr error.code, aby zidentyfikować konkretny błąd. |
Zabezpieczenia
azure_auth
Przepływ protokołu OAuth2 usługi Azure Active Directory
Typ:
oauth2
Flow:
implicit
Adres URL autoryzacji:
https://login.microsoftonline.com/common/oauth2/authorize
Zakresy
| Nazwa | Opis |
|---|---|
| user_impersonation | personifikacja konta użytkownika |
Przykłady
Access a properties field
Przykładowe żądanie
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)"
}
Przykładowa odpowiedź
{
"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
Przykładowe żądanie
Przykładowa odpowiedź
{
"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
Przykładowe żądanie
Przykładowa odpowiedź
{
"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
Przykładowe żądanie
Przykładowa odpowiedź
{
"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
Przykładowe żądanie
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_"
}
Przykładowa odpowiedź
{
"totalRecords": 3,
"count": 3,
"resultTruncated": "false",
"facets": [],
"data": [
{
"location": "centralus",
"count_": 11
},
{
"location": "eastus",
"count_": 11
},
{
"location": "southcentralus",
"count_": 3
}
]
}
Filter resources
Przykładowe żądanie
Przykładowa odpowiedź
{
"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
Przykładowe żądanie
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
}
}
Przykładowa odpowiedź
{
"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
Przykładowe żądanie
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=="
}
}
Przykładowa odpowiedź
{
"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
Przykładowe żądanie
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
}
}
]
}
Przykładowa odpowiedź
{
"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
Przykładowe żądanie
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
}
}
Przykładowa odpowiedź
{
"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
Przykładowe żądanie
Przykładowa odpowiedź
{
"totalRecords": 3,
"count": 3,
"resultTruncated": "false",
"facets": [],
"data": [
{
"location": "centralus"
},
{
"location": "eastus"
},
{
"location": "westus"
}
]
}
Definicje
| Nazwa | Opis |
|---|---|
|
Authorization |
Określa, jaki poziom zasobów autoryzacji ma być zwracany na podstawie tego, które subskrypcje i grupy zarządzania są przekazywane jako zakresy. |
| Error |
Informacje o błędzie. |
|
Error |
Szczegóły błędu. |
|
Error |
Odpowiedź na błąd. |
|
Facet |
Facet, którego wykonanie spowodowało błąd. |
|
Facet |
Żądanie obliczenia dodatkowych statystyk (aspektów) w wynikach zapytania. |
|
Facet |
Opcje oceny aspektów |
|
Facet |
Pomyślnie wykonano aspekt zawierający dodatkowe statystyki dotyczące odpowiedzi zapytania. |
|
Facet |
Kolejność sortowania według wybranej kolumny (domyślnie zlicz). |
|
Query |
Opisuje zapytanie do wykonania. |
|
Query |
Opcje oceny zapytań |
|
Query |
Wynik zapytania. |
|
Result |
Definiuje, w którym zwracany jest wynik zapytania w formacie. |
|
Result |
Wskazuje, czy wyniki zapytania są obcinane. |
AuthorizationScopeFilter
Określa, jaki poziom zasobów autoryzacji ma być zwracany na podstawie tego, które subskrypcje i grupy zarządzania są przekazywane jako zakresy.
| Wartość | Opis |
|---|---|
| AtScopeAndBelow | |
| AtScopeAndAbove | |
| AtScopeExact | |
| AtScopeAboveAndBelow |
Error
Informacje o błędzie.
| Nazwa | Typ | Opis |
|---|---|---|
| code |
string |
Kod błędu identyfikujący określony błąd. |
| details |
Szczegóły błędu |
|
| message |
string |
Czytelny dla człowieka komunikat o błędzie. |
ErrorDetails
Szczegóły błędu.
| Nazwa | Typ | Opis |
|---|---|---|
| code |
string |
Kod błędu identyfikujący określony błąd. |
| message |
string |
Czytelny dla człowieka komunikat o błędzie. |
ErrorResponse
Odpowiedź na błąd.
| Nazwa | Typ | Opis |
|---|---|---|
| error |
Informacje o błędzie. |
FacetError
Facet, którego wykonanie spowodowało błąd.
| Nazwa | Typ | Opis |
|---|---|---|
| errors |
Tablica zawierająca wykryte błędy aspektów ze szczegółami. |
|
| expression |
string |
Wyrażenie aspektu, takie samo jak w odpowiadającym żądaniu aspektu. |
| resultType | string: |
Typ wyniku |
FacetRequest
Żądanie obliczenia dodatkowych statystyk (aspektów) w wynikach zapytania.
| Nazwa | Typ | Opis |
|---|---|---|
| expression |
string |
Kolumna lub lista kolumn do podsumowania według |
| options |
Opcje oceny aspektów |
FacetRequestOptions
Opcje oceny aspektów
| Nazwa | Typ | Domyślna wartość | Opis |
|---|---|---|---|
| $top |
integer (int32) minimum: 1maximum: 1000 |
Maksymalna liczba wierszy aspektów, które powinny być zwracane. |
|
| filter |
string |
Określa warunek filtru dla klauzuli "where", która będzie uruchamiana w wyniku zapytania głównego tuż przed rzeczywistym tworzeniem aspektów. |
|
| sortBy |
string |
Nazwa kolumny lub wyrażenie zapytania do sortowania. Wartości domyślne do zliczenia, jeśli nie są obecne. |
|
| sortOrder | desc |
Kolejność sortowania według wybranej kolumny (domyślnie zlicz). |
FacetResult
Pomyślnie wykonano aspekt zawierający dodatkowe statystyki dotyczące odpowiedzi zapytania.
| Nazwa | Typ | Opis |
|---|---|---|
| count |
integer (int32) |
Liczba rekordów zwróconych w odpowiedzi aspektowej. |
| data |
object |
Tablica JObject lub tabela zawierająca żądane aspekty. Występuje tylko wtedy, gdy aspekt jest prawidłowy. |
| expression |
string |
Wyrażenie aspektu, takie samo jak w odpowiadającym żądaniu aspektu. |
| resultType | string: |
Typ wyniku |
| totalRecords |
integer (int64) |
Liczba wszystkich rekordów w wynikach aspektu. |
FacetSortOrder
Kolejność sortowania według wybranej kolumny (domyślnie zlicz).
| Wartość | Opis |
|---|---|
| asc | |
| desc |
QueryRequest
Opisuje zapytanie do wykonania.
| Nazwa | Typ | Opis |
|---|---|---|
| facets |
Tablica żądań aspektu do obliczenia względem wyniku zapytania. |
|
| managementGroups |
string[] |
Grupy zarządzania platformy Azure, dla których ma zostać wykonane zapytanie. Przykład: [ "mg1", "mg2" ] |
| options |
Opcje oceny zapytania |
|
| query |
string |
Zapytanie dotyczące zasobów. |
| subscriptions |
string[] |
Subskrypcje platformy Azure, dla których ma zostać wykonane zapytanie. |
QueryRequestOptions
Opcje oceny zapytań
| Nazwa | Typ | Domyślna wartość | Opis |
|---|---|---|---|
| $skip |
integer (int32) minimum: 0 |
Liczba wierszy do pominięcia od początku wyników. Zastępuje przesunięcie następnej strony, gdy właściwość |
|
| $skipToken |
string |
Token kontynuacji dla stronicowania, przechwytywanie następnego rozmiaru i przesunięcia strony, a także kontekstu zapytania. |
|
| $top |
integer (int32) minimum: 1maximum: 1000 |
Maksymalna liczba wierszy zwracanych przez zapytanie. Zastępuje rozmiar strony, gdy właściwość |
|
| allowPartialScopes |
boolean |
False |
Dotyczy tylko zapytań na poziomie dzierżawy i grupy zarządzania, aby zdecydować, czy zezwalać na częściowe zakresy w przypadku przekroczenia dozwolonych limitów liczby subskrypcji. |
| authorizationScopeFilter | AtScopeAndBelow |
Określa, jaki poziom zasobów autoryzacji ma być zwracany na podstawie tego, które subskrypcje i grupy zarządzania są przekazywane jako zakresy. |
|
| resultFormat | objectArray |
Definiuje, w którym zwracany jest wynik zapytania w formacie. |
QueryResponse
Wynik zapytania.
| Nazwa | Typ | Opis |
|---|---|---|
| $skipToken |
string |
Gdy wartość jest obecna, może zostać przekazana do kolejnego wywołania zapytania (wraz z tym samym zapytaniem i zakresami używanymi w bieżącym żądaniu), aby pobrać następną stronę danych. |
| count |
integer (int64) |
Liczba rekordów zwróconych w bieżącej odpowiedzi. W przypadku stronicowania jest to liczba rekordów na bieżącej stronie. |
| data |
object |
Dane wyjściowe zapytania w tablicy JObject lub formacie tabeli. |
| facets | Facet[]: |
Aspekty zapytań. |
| resultTruncated |
Wskazuje, czy wyniki zapytania są obcinane. |
|
| totalRecords |
integer (int64) |
Liczba wszystkich rekordów pasujących do zapytania. |
ResultFormat
Definiuje, w którym zwracany jest wynik zapytania w formacie.
| Wartość | Opis |
|---|---|
| table | |
| objectArray |
ResultTruncated
Wskazuje, czy wyniki zapytania są obcinane.
| Wartość | Opis |
|---|---|
| true | |
| false |