快速入门:使用 Azure PowerShell 创建 Resource Graph 共享查询
在本快速入门中,使用 Az.ResourceGraph
Azure PowerShell 模块创建一个 Azure Resource Graph 共享查询。 该模块包含在最新版本的 Azure PowerShell 中,并为 Resource Graph 添加了 cmdlet。
可以使用实验性功能的命令从 Azure CLI 运行共享查询,也可以从 Azure 门户运行共享查询。 共享查询是一个 Azure 资源管理器对象,你可授予该对象权限或在 Azure Resource Graph Explorer 中运行该对象。 完成后,可以删除 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
cmdlet 版本,并将模块加载到 PowerShell 会话中。
从 Visual Studio Code 终端会话连接到 Azure。 如果具有多个订阅,请运行命令以将上下文设置为你的订阅。 将 <subscriptionID>
替换为你的 Azure 订阅 ID。
Connect-AzAccount -Environment AzureChinaCloud
# Run these commands if you have multiple subscriptions
Get-AzSubScription
Set-AzContext -Subscription <subscriptionID>
共享查询是一个 Azure 资源管理器对象,你可授予该对象权限或在 Azure Resource Graph Explorer 中运行该对象。 该查询汇总了按“位置”分组的所有资源。
创建用于存储 Azure Resource Graph 共享查询的资源组。
New-AzResourceGroup -Name demoSharedQuery -Location chinaeast2
创建 Azure Resource Graph 共享查询。
$params = @{ Name = 'Summarize resources by location' ResourceGroupName = 'demoSharedQuery' Location = 'chinaeast2' Description = 'This shared query summarizes resources by location for a pinnable map graphic.' Query = 'Resources | summarize count() by location' } New-AzResourceGraphQuery @params
$params
变量使用 PowerShell splatting 来提高命令中使用的参数值的可读性,以创建共享查询。在资源组中列出所有共享查询。
Get-AzResourceGraphQuery -ResourceGroupName demoSharedQuery
将结果限制为特定的共享查询。
Get-AzResourceGraphQuery -ResourceGroupName demoSharedQuery -Name 'Summarize resources by location'
可以使用 Azure Resource Graph 资源管理器验证共享查询是否正常工作。 若要更改范围,请使用页面左侧的“范围”菜单。
- 登录到 Azure 门户。
- 在页面顶部的搜索字段中输入 Resource Graph。
- 选择“Resource Graph 资源管理器”。
- 选择“打开查询”。
- 将“类型”更改为“共享查询”。
- 选择“按 OS 对 VM 计数”查询。
- 在“结果”选项卡中选择“运行查询”和“查看输出”。
- 选择“图表”,然后选择“地图”以查看位置地图。
还可以从资源组运行查询。
- 在 Azure 中,转到资源组 demoSharedQuery。
- 在“概述 ”选项卡中,选择“按 OS 对 VM 计数”查询。
- 选择“结果”选项卡以查看列表。
- 选择“图表”,然后选择“地图”以查看位置地图。
完成时,可以从 Azure 环境中删除 Resource Graph 共享查询和资源组。 删除某个资源组后,将删除该资源组及其所有资源。
删除共享查询:
Remove-AzResourceGraphQuery -ResourceGroupName demoSharedQuery -Name 'Summarize resources by location'
删除资源组:
Remove-AzResourceGroup -Name demoSharedQuery
若要退出登录 Azure PowerShell 会话,请执行以下操作:
Disconnect-AzAccount
如果安装了最新版本的 Azure PowerShell,则包含 Az.ResourceGraph
模块,不应将其删除。 如果手动安装了 Az.ResourceGraph
模块并想要将其模块,则可选择执行以下步骤。
若要从 PowerShell 会话中删除 Az.ResourceGraph
模块,请运行以下命令:
Remove-Module -Name Az.ResourceGraph
若要从计算机中卸载 Az.ResourceGraph
模块,请运行以下命令:
Uninstall-Module -Name Az.ResourceGraph
可能会显示“模块 Az.ResourceGraph 当前正在使用”的消息。 如果是这样,则需要关闭 PowerShell 会话并启动新会话。 然后运行命令,从计算机中卸载模块。
在本快速入门中,你使用 Azure PowerShell 创建了一个 Resource Graph 共享查询。 若要详细了解 Resource Graph 语言,请继续阅读查询语言详细信息页。