You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure RM订阅成本分析REST API获取带标签资源使用费用问询

使用Azure Cost Management REST API获取带指定标签的资源成本

别担心,Azure确实提供了对应的REST API来实现这个需求——就是Azure Cost Management API,专门用来获取成本分析相关的数据,包括按标签筛选的资源费用。下面我给你一步步拆解怎么用:

核心API端点:CostManagementQuery

你需要调用CostManagementQuery的POST接口,通过自定义查询条件来筛选带xyz标签的资源并汇总成本。

1. 准备认证

首先得获取有效的Azure AD访问令牌,这是调用Azure REST API的前提。你可以通过服务主体、用户身份等方式获取令牌,确保令牌对应的身份拥有Cost Management Reader或Reader这类能读取成本数据的权限。

2. 构造请求

请求URL

POST https://management.azure.com/subscriptions/{你的订阅ID}/providers/Microsoft.CostManagement/query?api-version=2023-11-01

记得替换{你的订阅ID}为实际的订阅ID,API版本建议用最新的稳定版(比如2023-11-01),避免旧版本功能缺失。

请求体(JSON)

下面是一个示例请求体,专门筛选带有xyz标签的资源,并按标签和资源ID分组汇总成本:

{
  "type": "ActualCost",
  "timeframe": "MonthToDate",
  "dataset": {
    "granularity": "Daily",
    "filter": {
      "and": [
        {
          "tag": {
            "name": "xyz",
            "operator": "Exists"
          }
        }
      ]
    },
    "aggregation": {
      "totalCost": {
        "name": "PreTaxCost",
        "function": "Sum"
      }
    },
    "grouping": [
      {
        "type": "Tag",
        "name": "xyz"
      },
      {
        "type": "ResourceId"
      }
    ]
  }
}

3. 参数解释

  • type: 指定成本类型,ActualCost是实际产生的成本,也可以用AmortizedCost(摊销成本)
  • timeframe: 时间范围,比如MonthToDate(当月至今)、LastMonth(上月);如果需要自定义时间范围,可以换成Custom并添加timePeriod字段来指定起止日期
  • filter.tag: 这里用Exists操作符匹配所有带有xyz标签的资源;如果要筛选标签值为特定内容的资源,可以把operator改成Equals,并添加value字段(比如"value": "abc")
  • aggregation: 定义成本的聚合方式,这里是对税前成本求和,方便你直接拿到总费用
  • grouping: 按标签和资源ID分组,让你能清晰看到每个带xyz标签的资源的具体费用明细

4. 解析响应

API返回的JSON响应里,properties.rows是具体的成本数据行,properties.columns对应每行数据的字段含义,你可以根据这两个部分提取需要的费用信息。

内容的提问来源于stack exchange,提问作者Sudha Ganesan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:41:42