如何获取Azure工作簿所在资源组的应用程序?去除硬编码实现
动态获取资源组并筛选函数应用的Azure Monitor工作簿配置方案
方案一:直接使用工作簿内置上下文参数
Azure Monitor工作簿自带内置参数,可直接获取当前工作簿所在的资源组名称,无需手动创建硬编码的资源组参数。
将获取应用程序的查询修改为:
resources | where type == "microsoft.web/sites" | where resourceGroup == "{ResourceGroup}"
这里的{ResourceGroup}是工作簿的内置参数,会自动匹配当前工作簿所属的资源组,直接替换原有硬编码逻辑即可。
方案二:自定义动态资源组选择参数
如果需要让用户手动选择目标资源组(而非固定为工作簿所在资源组),可以修改资源组参数的查询,移除硬编码的"foo",实现动态列出可选资源组:
修改资源组参数的查询为:
resourcecontainers | where type =~ "microsoft.resources/subscriptions/resourcegroups" | project name, id | sort by name asc
该查询会列出当前订阅下的所有资源组,用户可通过下拉菜单选择目标组,之后获取应用程序的查询依然使用{ResourceGroup}参数,即可自动筛选对应资源组下的函数应用。
注意事项
- 确保工作簿拥有读取目标资源组内函数应用的权限
- 若工作簿创建在订阅级别,内置
ResourceGroup参数会为空,此时建议采用方案二,或将工作簿迁移至目标资源组内使用
内容的提问来源于stack exchange,提问作者Paul Meems
相关产品推荐
相关产品推荐

