本快速入门介绍如何使用 Azure CLI 和 Resource Graph 扩展创建 Azure Resource Graph 共享查询。 az graph shared-query 命令是 az graph query 的 实验性 功能。
可以使用实验性功能的命令从 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 的扩展。
从 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 chinaeast2
创建共享查询。
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 门户来运行共享查询。
使用 {{shared-query-uri}}
命令中的 az graph query
语法在 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 Explorer。
- 选择“打开查询”。
- 将“类型”更改为“共享查询”。
- 选择查询 “按位置汇总资源”。
- 在“结果”选项卡中选择“运行查询”和“查看输出”。
- 选择“图表”,然后选择“地图”以查看位置地图。
您还可以从您的资源组运行查询。
- 在 Azure 中,转到资源组 demoSharedQuery。
- 从“ 概述 ”选项卡中,按位置选择查询 “汇总资源”。
- 选择“结果”选项卡。
- 选择“图表”,然后选择“地图”以查看位置地图。
删除共享查询:
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 语言,请继续阅读查询语言详细信息页。