Поделиться через


Краткое руководство. Выполнение запроса Графа ресурсов с помощью 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

Из сеанса терминала 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, перейдите на страницу сведений о языке запросов.