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

如何通过Azure CLI获取各资源组成本?解决API及模块报错问题

获取Azure资源组成本的解决方案

Azure CLI 方法

单个资源组查询

你之前的命令存在两个问题:日期顺序颠倒(开始日期晚于结束日期),以及未指定符合要求的API版本。修正后的命令如下:

az consumption usage list --resource-group rg1 --start-date 2022-01-01 --end-date 2023-01-28 --api-version 2021-10-01

如果需要汇总该资源组的总成本,可使用查询参数计算:

az consumption usage list --resource-group rg1 --start-date 2022-01-01 --end-date 2023-01-28 --api-version 2021-10-01 --query "sum([].pretaxCost)" -o tsv

遍历所有资源组查询

若要批量获取所有资源组的成本,可结合资源组列表循环执行:

for rg in $(az group list --query "[].name" -o tsv); do
    echo "资源组: $rg"
    az consumption usage list --resource-group $rg --start-date 2022-01-01 --end-date 2023-01-28 --api-version 2021-10-01 --query "sum([].pretaxCost)" -o tsv
done

PowerShell 方法

先安装所需模块

你遇到的"模块未安装"问题,只需先安装Az.Consumption模块:

Install-Module -Name Az.Consumption -Force -AllowClobber -Scope CurrentUser

(若提示权限不足,可使用管理员身份运行PowerShell)

单个资源组查询

修正日期顺序后执行命令:

Get-AzConsumptionUsageDetail -ResourceGroup "rg1" -StartDate 2022-01-01 -EndDate 2023-01-28 | Select-Object ResourceGroupName, PretaxCost, UsageStart, UsageEnd

遍历所有资源组查询

批量获取所有资源组的成本汇总:

Get-AzResourceGroup | ForEach-Object {
    $rgName = $_.ResourceGroupName
    $totalCost = (Get-AzConsumptionUsageDetail -ResourceGroup $rgName -StartDate 2022-01-01 -EndDate 2023-01-28 | Measure-Object -Property PretaxCost -Sum).Sum
    [PSCustomObject]@{
        ResourceGroupName = $rgName
        TotalPretaxCost   = [math]::Round($totalCost, 2)
    }
}

注意事项

  • 确保日期参数正确:StartDate必须早于EndDate,否则会返回空结果或报错
  • 操作前需确认已通过az login(CLI)或Connect-AzAccount(PowerShell)登录Azure,且账号拥有Cost Management Reader或更高权限
  • API版本可选用2019-10-01之后的任意稳定版本,如2021-10-01、2023-03-01等

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 06:14:55