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

如何从Azure获取存储账户已用容量报告并对接Power BI实现自动月度报表

批量获取Azure存储账户容量并对接PowerBI自动化报表方案

1. 批量获取存储账户已用容量(解决单位识别问题)

直接用PowerShell或Azure CLI批量拉取数据并转换为纯数值,避免Excel/PowerBI识别单位字符串的问题。以下是PowerShell脚本示例:

# 登录Azure(自动化场景用服务主体,见下文说明)
Connect-AzAccount

# 遍历所有订阅
$subscriptions = Get-AzSubscription
$results = @()

foreach ($sub in $subscriptions) {
    Set-AzContext -Subscription $sub.Id | Out-Null
    # 获取当前订阅下所有存储账户
    $storageAccounts = Get-AzStorageAccount
    
    foreach ($sa in $storageAccounts) {
        # 拉取近30天的日粒度已用容量数据,取最新值
        $metrics = Get-AzMetric -ResourceId $sa.Id `
            -MetricName "UsedCapacity" `
            -TimeGrain 1d `
            -StartTime (Get-Date).AddDays(-30) `
            -EndTime (Get-Date)
        
        $latestData = $metrics.Data | Sort-Object Timestamp -Descending | Select-Object -First 1
        # 转换单位:将原始字节数转为TiB(保留2位小数)
        $usedTiB = [math]::Round($latestData.Average / 1024 / 1024 / 1024 / 1024, 2)
        
        $results += [PSCustomObject]@{
            订阅名称 = $sub.Name
            存储账户名 = $sa.StorageAccountName
            资源组 = $sa.ResourceGroupName
            已用容量(TiB) = $usedTiB
            原始容量(字节) = $latestData.Average
            报表日期 = Get-Date -Format "yyyy-MM-dd"
        }
    }
}

# 导出为纯数值CSV(无单位字符串)
$results | Export-Csv -Path "StorageCapacityReport.csv" -NoTypeInformation -Encoding UTF8

自动化执行配置:

如果要每月自动生成,用Azure Automation Runbook:

  1. 创建自动化账户,导入Az.Storage和Az.Monitor模块
  2. 创建服务主体,赋予其Monitor Reader和Storage Account Reader权限
  3. 在Runbook中替换登录命令为服务主体登录:
    $appId = "你的服务主体ID"
    $tenantId = "租户ID"
    $thumbprint = "证书指纹"
    Connect-AzAccount -ServicePrincipal -ApplicationId $appId -Tenant $tenantId -CertificateThumbprint $thumbprint
    
  4. 设置Runbook的每月触发计划,将导出的CSV上传到Azure Blob存储

2. 对接PowerBI生成自动化报表

方式一:从CSV文件导入(适合已导出数据)

  1. 在PowerBI Desktop中选择「获取数据」→「文本/CSV」,导入生成的CSV文件
  2. 直接使用数值列创建可视化报表(比如柱状图、表格)
  3. 发布报表到PowerBI Service,设置数据集刷新计划:
    • 如果CSV存在本地:安装本地数据网关,配置网关连接
    • 如果CSV在Azure Blob:直接连接Blob存储,使用托管身份或存储密钥验证,设置每月刷新

方式二:直接拉取Azure Monitor数据(更高效)

跳过导出步骤,PowerBI直接对接Azure指标:

  1. PowerBI Desktop中选择「获取数据」→「Azure」→「Azure Monitor」
  2. 选择订阅、资源类型「存储账户」,勾选「UsedCapacity」指标,设置时间范围
  3. 数据加载后直接生成报表,发布到PowerBI Service后配置刷新计划(需确保PowerBI服务有权限访问Azure资源)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 14:12:17