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

使用Azure CLI按位置统计消费结果为0.00的原因排查求助

问题排查:Azure CLI统计指定位置消费总费用为0的原因及解决

1. 过滤条件匹配异常

  • type字段判断偏差:部分场景下,返回数据的type字段值为UsageDetail(不带命名空间前缀),而非Microsoft.Consumption/usageDetails,导致过滤后无匹配数据。可先移除type过滤条件,单独验证instanceLocation的匹配效果。
  • 区域名称不匹配:Azure区域名称存在大小写差异或拼写误差,或你的实际资源并未部署在northcentralus区域。可先执行以下命令查看所有存在消费记录的区域:
    az consumption usage list --query "[].instanceLocation" --output json | ConvertFrom-Json | Select-Object -Unique
    

2. 脚本处理逻辑冗余

你的脚本中$consumpCost = $consumpCost -split "n" | ForEach-Object { [decimal]$_ }`属于多余操作:

  • az consumption usage list返回的JSON数组经ConvertFrom-Json后已转为PowerShell数组对象,直接对该数组执行求和即可。冗余的拆分换行操作会破坏原有数值结构,导致求和结果为0。
    修正后的简化脚本:
az login
$consumpCost = az consumption usage list --query "[? instanceLocation=='northcentralus'].pretaxCost" --output json | ConvertFrom-Json
$combcost = $consumpCost | Measure-Object -Sum | Select-Object -ExpandProperty Sum
Write-Host "Total Cost: $combcost"

3. 默认时间范围无消费数据

az consumption usage list默认仅返回过去30天的消费记录,若指定区域在该时间段内无消费行为,总费用自然为0。可通过--start-date和--end-date扩大查询范围,示例:

az consumption usage list --start-date 2024-01-01 --end-date 2024-06-30 --query "[? instanceLocation=='northcentralus'].pretaxCost" --output json | ConvertFrom-Json

4. 权限不足导致数据不全

若当前账号未拥有Cost Management Reader或Reader及以上权限,将无法获取完整的消费数据,可能返回空数组导致求和为0。需切换至具备对应权限的账号重试。

5. 消费数据存在延迟

Azure消费数据通常有24-48小时的同步延迟,若为刚产生的消费记录,可能尚未同步至usageDetails接口,建议等待一段时间后再查询。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 20:37:41