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

如何通过AZ CLI获取近30天的Azure成本数据(按资源组统计并返回数值/JSON blob)

如何通过AZ CLI获取近30天的Azure成本数据(按资源组统计并返回数值/JSON blob)

没问题!要直接通过AZ CLI拿到近30天按资源组分组的成本数据,而且返回JSON格式(不用存到存储容器里),用az costmanagement query命令就可以搞定,这是Azure官方推荐的成本查询方式,直接输出你要的结果。

第一步:准备好你的订阅ID

如果不知道自己的订阅ID,可以先跑这个命令获取:

az account show --query id --output tsv

复制输出的ID,后面要用到。

第二步:执行成本查询命令

直接运行下面的命令,把your-subscription-id替换成你刚才拿到的订阅ID:

az costmanagement query \
  --scope "/subscriptions/your-subscription-id" \
  --type ActualCost \
  --timeframe Last30Days \
  --dataset-aggregation "Cost=name:Cost,function:Sum" \
  --dataset-grouping "name:ResourceGroup,type:Dimension"

这个命令会直接返回一个JSON blob,里面包含了每个资源组对应的近30天总成本。核心参数说明:

  • --scope:指定查询的范围,这里用订阅级别的范围
  • --type ActualCost:查询实际产生的成本(也可以选AmortizedCost查看摊销成本)
  • --timeframe Last30Days:自动计算近30天的时间范围,不用手动写起止日期
  • --dataset-aggregation:指定要聚合的指标,这里是求和成本
  • --dataset-grouping:按资源组维度分组统计

第三步:如果只想提取纯数值或简化JSON

如果你不需要完整的响应结构,只想拿到资源组和成本的键值对,可以用JMESPath过滤结果,比如:

az costmanagement query \
  --scope "/subscriptions/your-subscription-id" \
  --type ActualCost \
  --timeframe Last30Days \
  --dataset-aggregation "Cost=name:Cost,function:Sum" \
  --dataset-grouping "name:ResourceGroup,type:Dimension" \
  --query 'properties.rows | [*] | {ResourceGroupCosts: [ {Name: @[0], TotalCost: @[1]} ]}'

这样输出的JSON会更简洁,直接展示每个资源组的名称和对应的总成本数值。

注意事项

  • 确保你有足够的权限:需要Cost Management Reader或更高权限的角色才能查询成本数据
  • 建议把AZ CLI更新到最新版本:避免旧版本不支持部分参数,更新命令是az upgrade

备注:内容来源于stack exchange,提问作者TheFiddlerWins

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 15:49:28