Краткое руководство. Выполнение запроса Graph ресурсов с помощью Azure PowerShell
В этом кратком руководстве описывается запуск запроса Azure Resource Graph с помощью Az.ResourceGraph
модуля Для Azure PowerShell. В статье также показано, как упорядочивать (сортировать) и ограничивать результаты запроса. Вы можете выполнить запрос к ресурсам в клиенте, группах управления или подписках. По завершении можно удалить модуль.
Необходимые компоненты
- Если у вас нет учетной записи Azure, создайте бесплатную учетную запись, прежде чем начинать работу.
- PowerShell.
- Azure PowerShell.
- Visual Studio Code.
Установка модуля
Az.ResourceGraph
Установите модуль, чтобы использовать Azure PowerShell для выполнения запросов Azure Resource Graph. Для модуля Azure Resource Graph требуется PowerShellGet версии 2.0.1 или более поздней. Если вы установили последние версии PowerShell и Azure PowerShell, у вас уже есть требуемая версия.
Проверьте версию 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}
Очистка ресурсов
Чтобы удалить модуль из сеанса Az.ResourceGraph
PowerShell, выполните следующую команду:
Remove-Module -Name Az.ResourceGraph
Чтобы удалить Az.ResourceGraph
модуль с компьютера, выполните следующую команду:
Uninstall-Module -Name Az.ResourceGraph
Возможно, появится сообщение об использовании модуля Az.ResourceGraph. В этом случае необходимо завершить работу сеанса PowerShell и запустить новый сеанс. Затем выполните команду, чтобы удалить модуль с компьютера.
Чтобы выйти из сеанса Azure PowerShell, выполните следующие действия.
Disconnect-AzAccount
Следующие шаги
В этом кратком руководстве вы добавили модуль Resource Graph в среду Azure PowerShell и выполнили запрос. Дополнительные сведения см. на странице сведений о языке запросов.