如何使用Azure Rest API按标签查询对应Azure资源的详细信息
Azure 管理API按标签过滤查询资源方法
你目前使用的Get-AzResource -Tag @{ "ApplicationID"="XXX"}CLI命令底层也是调用Azure管理API实现的,你提到的https://management.azure.com/subscriptions/{subscriptionId}/tagNames?api-version=2021-04-01接口只能查询订阅下所有标签键列表,无法直接返回匹配指定标签的资源详情,你需要使用资源列表查询接口搭配过滤参数实现需求:
接口基础信息
- 请求方法:GET
- 基础接口地址:
https://management.azure.com/subscriptions/{subscriptionId}/resources?api-version=2021-04-01 - 过滤参数配置:在地址后追加
$filter查询参数,过滤规则为tagName eq '你的标签键' and tagValue eq '你的标签值'
完整请求示例
如果你要筛选标签键为ApplicationID、标签值为XXX的资源,最终请求地址如下:
https://management.azure.com/subscriptions/替换为实际订阅ID/resources?api-version=2021-04-01&$filter=tagName eq 'ApplicationID' and tagValue eq 'XXX'
注意事项
- 调用接口前需要先获取Azure AD颁发的访问令牌,将令牌添加到请求头中:
Authorization: Bearer 实际访问令牌 - 调用身份需要拥有目标订阅的资源读取权限
- 接口返回的
value数组中每个元素对应一个匹配的资源,包含资源名称、ResourceGroupName、ResourceType、Location、ResourceId等所有你需要的完整属性
内容的提问来源于stack exchange,提问作者Rock
相关产品推荐
相关产品推荐

