Краткое руководство. Выполнение запроса Graph ресурсов с помощью Azure PowerShell

В этом кратком руководстве описывается запуск запроса Azure Resource Graph с помощью Az.ResourceGraph модуля Для Azure PowerShell. В статье также показано, как упорядочивать (сортировать) и ограничивать результаты запроса. Вы можете выполнить запрос к ресурсам в клиенте, группах управления или подписках. По завершении можно удалить модуль.

Необходимые компоненты

Установка модуля

Az.ResourceGraph Установите модуль, чтобы использовать Azure PowerShell для выполнения запросов Azure Resource Graph. Для модуля Azure Resource Graph требуется PowerShellGet версии 2.0.1 или более поздней. Если вы установили последние версии PowerShell и Azure PowerShell, у вас уже есть требуемая версия.

  1. Проверьте версию PowerShellGet:

    Get-Module -Name PowerShellGet
    

    Если вам нужно обновить, перейдите в PowerShellGet.

  2. Установите модуль:

    Install-Module -Name Az.ResourceGraph -Repository PSGallery -Scope CurrentUser
    

    Команда устанавливает модуль в CurrentUser область. Если необходимо установить в область, запустите установку из AllUsers административного сеанса PowerShell.

  3. Убедитесь, что модуль установлен:

    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 с каждым ресурсом nametype . Чтобы выполнить запрос по группе управления или подписке, используйте параметры -ManagementGroup и -Subscription.

  1. Запустите запрос Azure Resource Graph с помощью командлета Search-AzGraph :

    Search-AzGraph -Query 'Resources | project name, type | limit 5'
    

    В этом примере запроса не используется модификатор сортировки, например order by. При выполнении запроса несколько раз он может дать другой набор ресурсов для каждого запроса.

  2. Обновите запрос к order by свойству name :

    Search-AzGraph -Query 'Resources | project name, type | limit 5 | order by name asc'
    

    Как и в предыдущем запросе, при выполнении этого запроса несколько раз может дать другой набор ресурсов для каждого запроса. Важен порядок команд запроса. В этом примере order by следует после limit. Запрос ограничивает результаты пятью ресурсами, а затем упорядочивает эти результаты по имени.

  3. Обновите запрос к order byname свойству, а затем 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 и выполнили запрос. Дополнительные сведения см. на странице сведений о языке запросов.