Краткое руководство. Выполнение запроса Graph ресурсов с помощью Azure PowerShell
В этом кратком руководстве описывается запуск запроса Azure Resource Graph с помощью Az.ResourceGraph
модуля Для Azure PowerShell. Модуль включен в последнюю версию Azure PowerShell и добавляет командлеты для Resource Graph.
В статье также показано, как упорядочивать (сортировать) и ограничивать результаты запроса. Вы можете выполнить запрос к ресурсам в клиенте, группах управления или подписках.
Необходимые компоненты
- Если у вас нет учетной записи Azure, создайте бесплатную учетную запись, прежде чем начинать работу.
- Последние версии PowerShell и Azure PowerShell.
- Visual Studio Code.
Установка модуля
Если установлены последние версии PowerShell и Azure PowerShell, у вас уже есть Az.ResourceGraph
модуль и требуемая версия PowerShellGet.
Необязательная установка модуля
Выполните следующие действия, чтобы установить Az.ResourceGraph
модуль, чтобы использовать Azure PowerShell для выполнения запросов Azure Resource Graph. Для модуля Azure Resource Graph требуется PowerShellGet версии 2.0.1 или более поздней.
Проверьте версию PowerShellGet:
Get-Module -Name PowerShellGet
Если вам нужно обновить, перейдите в PowerShellGet.
Установите модуль:
Install-Module -Name Az.ResourceGraph -Repository PSGallery -Scope CurrentUser
Команда устанавливает модуль в
CurrentUser
области. Если необходимо установить вAllUsers
области, запустите установку из административного сеанса PowerShell.Убедитесь, что модуль установлен:
Get-Command -Module Az.ResourceGraph -CommandType Cmdlet
Команда отображает
Search-AzGraph
версию командлета и загружает модуль в сеанс PowerShell.
Подключение к Azure
Из сеанса терминала Visual Studio Code подключитесь к Azure. Если у вас несколько подписок, выполните команды, чтобы задать контекст для подписки. Замените <subscriptionID>
идентификатором своей подписки Azure.
Connect-AzAccount
# Run these commands if you have multiple subscriptions
Get-AzSubScription
Set-AzContext -Subscription <subscriptionID>
Выполнение запроса
После добавления модуля в среду можно выполнить запрос на основе клиента. Запрос в этом примере возвращает пять ресурсов Azure с каждым ресурсом name
type
. Чтобы выполнить запрос по группе управления или подписке, используйте параметры -ManagementGroup
и -Subscription
.
Запустите запрос Azure Resource Graph с помощью командлета
Search-AzGraph
:Search-AzGraph -Query 'Resources | project name, type | limit 5'
В этом примере запроса не используется модификатор сортировки, например
order by
. При выполнении запроса несколько раз он может дать другой набор ресурсов для каждого запроса.Обновите запрос к
order by
свойствуname
:Search-AzGraph -Query 'Resources | project name, type | limit 5 | order by name asc'
Как и в предыдущем запросе, при выполнении этого запроса несколько раз может дать другой набор ресурсов для каждого запроса. Важен порядок команд запроса. В этом примере
order by
следует послеlimit
. Запрос ограничивает результаты пятью ресурсами, а затем упорядочивает эти результаты по имени.Обновите запрос к
order by
name
свойству, а затемlimit
выходные данные до пяти результатов:Search-AzGraph -Query 'Resources | project name, type | order by name asc | limit 5'
Если этот запрос выполняется несколько раз без изменений в вашей среде, результаты согласованы и упорядочены свойством
name
, но по-прежнему ограничены пятью результатами. Запрос упорядочивает результаты по имени, а затем ограничивает выходные данные пятью ресурсами.
Если запрос не возвращает результаты из подписки, к которой у вас уже есть доступ, обратите внимание, что Search-AzGraph
командлет по умолчанию использует подписки в контексте по умолчанию. Чтобы просмотреть список идентификаторов подписок, которые являются частью контекста по умолчанию, выполните эту (Get-AzContext).Account.ExtendedProperties.Subscriptions
команду, если вы хотите выполнить поиск по всем подпискам, к которым у вас есть доступ, задайте PSDefaultParameterValues
для Search-AzGraph
командлета, выполнив команду. $PSDefaultParameterValues=@{"Search-AzGraph:Subscription"= $(Get-AzSubscription).ID}
Очистка ресурсов
Чтобы выйти из сеанса Azure PowerShell, выполните следующие действия.
Disconnect-AzAccount
Необязательные действия по очистке
Если вы установили последнюю версию Azure PowerShell, Az.ResourceGraph
модуль включен и не должен быть удален. Следующие шаги необязательны, если вы выполнили ручную установку Az.ResourceGraph
модуля и хотите удалить модуль.
Чтобы удалить модуль из сеанса Az.ResourceGraph
PowerShell, выполните следующую команду:
Remove-Module -Name Az.ResourceGraph
Чтобы удалить Az.ResourceGraph
модуль с компьютера, выполните следующую команду:
Uninstall-Module -Name Az.ResourceGraph
Возможно, появится сообщение об использовании модуля Az.ResourceGraph. В этом случае необходимо завершить работу сеанса PowerShell и запустить новый сеанс. Затем выполните команду, чтобы удалить модуль с компьютера.
Следующие шаги
В этом кратком руководстве вы добавили модуль Resource Graph в среду Azure PowerShell и выполнили запрос. Дополнительные сведения см. на странице сведений о языке запросов.