Краткое руководство. Запуск первого запроса Resource Graph с помощью REST API
Чтобы начать использовать Azure Resource Graph с REST API, нужно сначала проверить, есть ли у вас средство для вызова интерфейсов REST API. Затем по инструкциям из этого краткого руководства вы выполните запрос и получите результаты, вызвав конечную точку REST API Azure Resource Graph.
По завершении у вас будут средства для вызова конечных точек REST API и результат выполнения первого запроса к Resource Graph.
Необходимые компоненты
Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
Azure Cloud Shell
В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.
Начало работы с Azure Cloud Shell
Вариант | Пример и ссылка |
---|---|
Нажмите кнопку Попробовать в правом верхнем углу блока кода или команд. При нажатии кнопки Попробовать код или команда не копируется в Cloud Shell автоматически. | |
Чтобы открыть Cloud Shell в браузере, перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell. | |
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure. |
Чтобы использовать Azure Cloud Shell, выполните следующие действия:
Запустите Cloud Shell.
Нажмите кнопку Копировать в блоке кода (или блоке команд), чтобы скопировать код или команду.
Вставьте код или команду в окно сеанса Cloud Shell, нажав клавиши CTRL+SHIFT+V в Windows и Linux или CMD+SHIFT+V в macOS.
Нажмите клавишу ВВОД, чтобы запустить код или команду.
Начало работы с REST API
Если у вас нет опыта работы с интерфейсом REST API, сначала ознакомьтесь со справочником по REST API Azure, чтобы получить общее представление о нем, в частности об URI запроса и тексте запроса. Это нужно для работы с Azure Resource Graph, поэтому предполагается, что у вас есть соответствующие практические навыки. Начинающим рекомендуется применять такие средства, как ARMClient, обеспечивающие автоматическую авторизацию.
Спецификации Azure Resource Graph см. в статье REST API Azure Resource Graph.
REST API и PowerShell
Если у вас еще нет средства для выполнения вызовов REST API, рекомендуем использовать среду PowerShell. Следующий пример кода возвращает заголовок для аутентификации в Azure. Создайте заголовок проверки подлинности, иногда называемый токеном носителя, и укажите универсальный код ресурса (URI) REST API, к которому нужно подключиться, а также параметры или текст запроса.
# 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
Переменная $response
содержит результат выполнения командлета Invoke-RestMethod
, который может быть проанализирован с помощью таких командлетов, как ConvertFrom-Json. Если конечная точка службы REST API требует текста запроса, укажите переменную в формате JSON в качестве значения параметра -Body
командлета Invoke-RestMethod
.
Выполните первый запрос график ресурсов
Теперь, когда средства REST API добавлены в вашу среду, попробуем выполнить простой запрос к Resource Graph на основе подписки. Запрос возвращает первые пять ресурсов Azure с указанными значениями Имя и Тип ресурса для каждого ресурса. Чтобы выполнить запрос по группе управления, используйте managementgroups
вместо subscriptions
. Чтобы выполнить запрос ко всему арендатору, исключите свойства managementgroups
и subscriptions
из текста запроса.
В тексте запроса каждого вызова REST API используется переменная, которую необходимо заменить собственным значением:
{subscriptionID}
— замените это значение идентификатором своей подписки.
Выполните первый запрос к Azure Resource Graph с помощью REST API и конечной точки
resources
:Универсальный код ресурса (URI) REST API
POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2021-03-01
Текст запроса
{ "subscriptions": [ "{subscriptionID}" ], "query": "Resources | project name, type | limit 5" }
Примечание.
Так как этот пример запроса не содержит модификатор сортировки, такой как
order by
, повторное выполнение запроса может каждый раз возвращать разные наборы ресурсов.Обновите запрос к конечной точке
resouces
и измените query для упорядочивания (order by
) по свойству Name:Универсальный код ресурса (URI) REST API
POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2021-03-01
Текст запроса
{ "subscriptions": [ "{subscriptionID}" ], "query": "Resources | project name, type | limit 5 | order by name asc" }
Примечание.
Как и с первым запросом, выполнение этого запроса несколько раз может получить различные наборы ресурсов для каждого запроса. Важен порядок команд запроса. В этом примере
order by
следует послеlimit
. Эта последовательность команд сначала ограничивает результаты запроса, а затем упорядочивает их.Обновите вызов к конечной точке
resources
, чтобы изменить query для упорядочивания (order by
) по свойству Name и ограничения (limit
) вывода пятью первыми результатами:Универсальный код ресурса (URI) REST API
POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2021-03-01
Текст запроса
{ "subscriptions": [ "{subscriptionID}" ], "query": "Resources | project name, type | order by name asc | limit 5" }
Повторные выполнения последней версии запроса, если ничего не изменяется в самой среде, возвращают стабильные результаты, отсортированные по свойству Name и ограниченные пятью первыми результатами.
Дополнительные примеры вызовов REST API к Azure Resource Graph см. в разделе Примеры.
Очистка ресурсов
REST API не содержит библиотеки или модули для удаления. Если вы установили средство, например ARMClient для выполнения вызовов и больше не нуждаетесь в нем, вы можете удалить это средство.
Следующие шаги
Из этого краткого руководства вы узнали, как вызвать конечную точку REST API Resource Graph и выполнить первый запрос. Чтобы узнать больше о языке Resource Graph, перейдите на страницу сведений о языке запросов.