如何在Azure或PowerShell中按地域查看各资源的成本明细?
按地域筛选后查看Azure资源具体成本的实现方法
Azure门户操作步骤
- 进入Azure成本管理的成本分析页面
- 在顶部筛选器中选择目标地域(比如“中国东部”)
- 找到分组依据下拉菜单,选择资源维度,系统会自动按单个资源聚合该地域内的成本数据
- 可切换视图为表格模式,直接查看每个资源的具体成本数值;也可通过调整时间范围获取不同周期的成本数据
- 若需要导出数据,点击页面顶部的导出按钮,选择CSV或Excel格式保存
PowerShell实现步骤
首先确保已安装Azure PowerShell模块并完成登录:
# 登录Azure账号 Connect-AzAccount # 切换到目标订阅 Set-AzContext -SubscriptionId "你的订阅ID"
执行以下脚本筛选指定地域并按资源输出成本:
# 设置查询时间范围(示例为过去30天) $startDate = (Get-Date).AddDays(-30).ToString("yyyy-MM-dd") $endDate = (Get-Date).ToString("yyyy-MM-dd") # 替换为你要筛选的地域名称 $targetRegion = "中国东部" # 执行成本查询 $costQueryResult = Get-AzCostManagementQuery -Scope "/subscriptions/你的订阅ID" ` -TimePeriodStart $startDate -TimePeriodEnd $endDate ` -DatasetAggregation @{TotalCost = @{Name = "PreTaxCost"; Function = "Sum"}} ` -DatasetGrouping @(@{Type = "Dimension"; Name = "ResourceId"}, @{Type = "Dimension"; Name = "ResourceLocation"}) ` -DatasetFilter @{Dimensions = @{Name = "ResourceLocation"; Operator = "In"; Values = @($targetRegion)}} # 格式化并输出结果 $costQueryResult.Properties.Rows | ForEach-Object { [PSCustomObject]@{ 资源ID = $_[0] 所属地域 = $_[1] 税前总成本 = $_[2] } } | Format-Table -AutoSize
说明:脚本中的订阅ID、地域名称、时间范围可根据实际需求修改;若需要更详细的资源信息,可添加
ResourceName等维度到分组条件中。
内容的提问来源于stack exchange,提问作者Traci
相关产品推荐
相关产品推荐

