如何通过REST API获取Azure上Microsoft.ApiManagement/service的带标签API
获取Azure API Management中带标签的API的可行方法
下面是几种可靠的实现方式,均能获取包含指定标签的API:
1. 使用Azure REST API
调用API Management的REST API端点,通过$filter参数筛选带标签的API:
- 请求端点:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis?api-version=2023-09-01-preview&$filter=tags/any(t: t eq '目标标签名') - 说明:
$filter参数通过OData表达式匹配包含指定标签的API,返回的响应中会包含API的完整信息(包括标签列表)。
2. 使用Azure CLI
通过CLI命令结合JMESPath查询过滤结果:
az apim api list --resource-group <你的资源组名> --service-name <你的APIM服务名> --query "[?tags[?@=='目标标签名']]" --output json
- 说明:
--query参数用JMESPath语法筛选出包含指定标签的API,--output json可格式化输出结果。
3. 使用Azure PowerShell
先获取所有API,再过滤包含目标标签的条目:
Get-AzApiManagementApi -ResourceGroupName <你的资源组名> -ServiceName <你的APIM服务名> | Where-Object { $_.Tags -contains '目标标签名' }
- 说明:
Where-Object会筛选出Tags属性中包含指定标签的API对象。
注意事项
确保你的账号拥有ApiManagementServiceReader及以上权限,否则会因权限不足无法获取数据。
内容的提问来源于stack exchange,提问作者TGMtorro
相关产品推荐
相关产品推荐

