你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
快速入门:使用 Azure CLI 创建 Resource Graph 共享查询
本快速入门介绍如何使用 Azure CLI 和 Resource Graph 扩展创建 Azure Resource Graph 共享查询。 az graph shared-query 命令是 az graph 查询的实验性功能。
可以使用实验性功能的命令从 Azure CLI 运行共享查询,也可以从 Azure 门户运行共享查询。 共享查询是一个 Azure 资源管理器对象,你可授予该对象权限或在 Azure Resource Graph Explorer 中运行该对象。 完成后,可以删除 Resource Graph 扩展。
先决条件
- 如果没有 Azure 帐户,请在开始前创建一个免费帐户。
- Azure CLI 必须是 Resource Graph 扩展的 2.22.0 或更高版本。
- 可在其中运行 Azure CLI 命令的 Bash shell 环境。 例如,在 Visual Studio Code 终端会话中的 Git Bash。
安装扩展
若要使 Azure CLI 能够使用 Azure Resource Graph 查询资源,必须安装 Resource Graph 扩展。 首次运行带有 az graph
的查询时,会显示一个安装扩展的提示。 否则,请使用以下步骤进行手动安装。
列出可用的扩展和版本:
az extension list-available --output table
安装扩展:
az extension add --name resource-graph
验证是否已安装扩展:
az extension list --output table
显示扩展的语法:
az graph query --help
有关 Azure CLI 扩展详细信息,请转到使用和管理 Azure CLI 的扩展。
连接到 Azure
从 Visual Studio Code 终端会话连接到 Azure。 如果具有多个订阅,请运行命令以将上下文设置为你的订阅。 将 <subscriptionID>
替换为你的 Azure 订阅 ID。
az login
# Run these commands if you have multiple subscriptions
az account list --output table
az account set --subscription <subscriptionID>
创建共享查询
创建资源组和共享,用于汇总按位置分组的所有资源的计数。
创建用于存储 Azure Resource Graph 共享查询的资源组。
az group create --name "demoSharedQuery" --location westus2
创建共享查询。
az graph shared-query create --name "Summarize resources by location" \ --description "This shared query summarizes resources by location for a pinnable map graphic." \ --graph-query "Resources | summarize count() by location" \ --resource-group demoSharedQuery
在资源组中列出所有共享查询。
az graph shared-query list --resource-group demoSharedQuery
将结果限制为特定的共享查询。
az graph shared-query show --resource-group "demoSharedQuery" \ --name "Summarize resources by location"
运行共享查询
可以使用 Azure CLI 实验性功能语法或 Azure 门户来运行共享查询。
使用实验性功能运行共享查询
使用 az graph query
命令中的 {{shared-query-uri}}
语法在 Azure CLI 中运行共享查询。 获取共享查询的资源 ID 并将其存储在变量中。 运行共享查询时会使用该变量。
sharedqueryid=$(az graph shared-query show --resource-group "demoSharedQuery" \
--name "Summarize resources by location" \
--query id \
--output tsv)
az graph query --graph-query "{{$sharedqueryid}}"
可以使用 subscriptions
参数来限制结果。
az graph query --graph-query "{{$sharedqueryid}}" --subscriptions 11111111-1111-1111-1111-111111111111
从门户运行共享查询
可以使用 Azure Resource Graph 资源管理器验证共享查询是否正常工作。 若要更改范围,请使用页面左侧的“范围”菜单。
- 登录到 Azure 门户。
- 在页面顶部的搜索字段中输入 Resource Graph。
- 选择“Resource Graph 资源管理器”。
- 选择“打开查询”。
- 将“类型”更改为“共享查询”。
- 选择“按 OS 对 VM 计数”查询。
- 在“结果”选项卡中选择“运行查询”和“查看输出”。
- 选择“图表”,然后选择“地图”以查看位置地图。
还可以从资源组运行查询。
- 在 Azure 中,转到资源组 demoSharedQuery。
- 在“概述 ”选项卡中,选择“按 OS 对 VM 计数”查询。
- 选择“结果”选项卡。
- 选择“图表”,然后选择“地图”以查看位置地图。
清理资源
删除共享查询:
az graph shared-query delete --name "Summarize resources by location" --resource-group demoSharedQuery
删除某个资源组后,将删除该资源组及其所有资源。 若要删除资源组,请执行以下操作:
az group delete --name demoSharedQuery
若要删除 Resource Graph 扩展,请运行以下命令:
az extension remove --name resource-graph
若要退出登录 Azure CLI 会话,请执行以下操作:
az logout
后续步骤
在本快速入门中,你将 Resource Graph 扩展添加到 Azure CLI 环境并创建了一个共享查询。 若要详细了解 Resource Graph 语言,请继续阅读查询语言详细信息页。