Краткое руководство. Выполнение запроса Графа ресурсов с помощью REST API
В этом кратком руководстве описывается, как запустить запрос Azure Resource Graph с помощью REST API и просмотреть результаты. Элементы REST API — это универсальный код ресурса (URI), содержащий версию API и текст запроса, содержащий запрос. В примерах используется Azure CLI для входа в Azure и аутентификации учетной записи для выполнения az rest
команд.
Если у вас нет опыта работы с интерфейсом REST API, сначала ознакомьтесь со справочником по REST API Azure, чтобы получить общее представление о нем, в частности об URI запроса и тексте запроса. Сведения о спецификациях Azure Resource Graph см. в rest API Azure Resource Graph.
Необходимые компоненты
- Если у вас нет учетной записи Azure, создайте бесплатную учетную запись, прежде чем начинать работу.
- Последняя версия оболочки PowerShell или Bash, например Git Bash.
- Последняя версия Azure CLI.
- Visual Studio Code.
Подключение к Azure
Из сеанса терминала Visual Studio Code подключитесь к Azure. Если у вас несколько подписок, выполните команды, чтобы задать контекст для подписки. Замените {subscriptionID}
идентификатором своей подписки Azure.
az login
# Run these commands if you have multiple subscriptions
az account list --output table
az account set --subscription {subscriptionID}
Используйте az login
даже если вы используете PowerShell, так как в примерах используются команды Azure CLI az rest .
Проверка синтаксиса REST API
Существует два элемента для выполнения команд REST API: URI REST API и текста запроса. Дополнительные сведения см. в разделе "Ресурсы". Чтобы выполнить запрос по группе управления, используйте managementGroups
вместо subscriptions
. Чтобы выполнить запрос ко всему арендатору, исключите свойства managementGroups
и subscriptions
из текста запроса.
В следующем примере показан синтаксис URI REST API для выполнения запроса для подписки Azure.
POST https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2022-10-01
Текст запроса необходим для выполнения запроса с помощью REST API. В следующем примере приведен пример JSON для создания файла текста запроса.
{
"subscriptions": [
"{subscriptionID}"
],
"query": "Resources | project name, type | limit 5"
}
Выполнение запроса Resource Graph
В примерах используется та же az rest
команда, но вы изменяете текст запроса, чтобы получить разные результаты. В примерах перечислены ресурсы, упорядочение ресурсов по name
свойству и упорядочение ресурсов по name
свойству и ограничение количества результатов.
Чтобы выполнить все примеры запросов, используйте следующую az rest
команду для среды оболочки:
az rest --method post --uri https://management.azure.com/providers/Microsoft.ResourceGraph/resources?api-version=2022-10-01 --body `@request-body.json
В PowerShell для escape-файла () необходимо использовать at sign
обратную тикку (@
`
), чтобы указать имя файла для текста запроса.
В каждом примере текста запроса замените {subscriptionID}
идентификатор подписки Azure. Выполните следующую команду, чтобы получить идентификатор подписки Azure для текста запроса:
az account show --query id --output tsv
Перечислить ресурсы
В Visual Studio Code создайте файл с именем request-body.json. Скопируйте и вставьте следующий код JSON в файл и сохраните файл.
Запрос возвращает пять ресурсов Azure с каждым ресурсом name
resource type
.
{
"subscriptions": [
"{subscriptionID}"
],
"query": "Resources | project name, type | limit 5"
}
Так как этот пример запроса не предоставляет модификатор сортировки, например order by
, выполнение этого запроса несколько раз дает другой набор ресурсов для каждого запроса.
Порядок по свойству имени
Обновите request-body.json со следующим кодом, который изменяет запрос на order by
name
свойство. Сохраните файл и используйте az rest
команду для выполнения запроса.
{
"subscriptions": [
"{subscriptionID}"
],
"query": "Resources | project name, type | limit 5 | order by name asc"
}
Если этот запрос выполняется несколько раз, он выдает другой набор ресурсов для каждого запроса.
Важен порядок команд запроса. В этом примере order by
следует после limit
. Этот порядок команд ограничивает результаты запроса пятью ресурсами, а затем упорядочивает их.
Упорядочивание по свойству имени и ограничение результатов
Обновите request-body.json со следующим кодом для name
order by
свойства, а затем limit
до пяти лучших результатов. Сохраните файл и используйте ту же az rest
команду для выполнения запроса.
{
"subscriptions": [
"{subscriptionID}"
],
"query": "Resources | project name, type | order by name asc | limit 5"
}
Если запрос выполняется несколько раз, при условии, что в вашей среде ничего не изменилось, результаты возвращаются согласованными и упорядоченными name
свойством, но ограничены пятью лучшими результатами.
Очистка ресурсов
Выйдите из сеанса Azure CLI.
az logout
Следующие шаги
В этом кратком руководстве вы использовали конечную точку REST API Azure Resource Graph для выполнения запроса. Чтобы узнать больше о языке Resource Graph, перейдите на страницу сведений о языке запросов.