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

Azure存储热、冷、归档层统计信息获取方法咨询

获取Azure Blob存储各访问层的数量、空间及成本信息

通过Azure Portal操作

1. 查看分层存储统计(数量/空间)

  • 进入目标存储账户,左侧菜单选择「监控」>「指标」
  • 在指标界面,点击「添加指标」,分别选择:
    • 指标名称:Blob Count(Blob数量),添加维度Access Tier,即可拆分显示Hot/Cool/Archive各层级的Blob数量
    • 指标名称:Blob Capacity(Blob容量),同样添加Access Tier维度,查看各层级的占用空间(Archive层可关注Archive Blob Capacity指标)
  • 调整时间范围为需要统计的周期(如月度),即可查看对应时段的分层数据

2. 查看分层成本明细

  • 在存储账户左侧菜单选择「成本管理」>「成本分析」
  • 点击「添加筛选器」,选择「服务名称」=「存储」;再点击「添加分组依据」,选择「访问层」
  • 界面会自动按Hot/Cool/Archive层级拆分显示成本,支持切换时间范围查看月度或自定义周期的成本数据

通过编程/命令行操作

1. Azure CLI

统计各层级Blob数量

# 登录Azure CLI
az login

# 统计指定容器内各访问层的Blob数量
az storage blob list --account-name <你的存储账户名> --container-name <容器名> --query "[].properties.accessTier" --output tsv | sort | uniq -c

统计各层级占用空间

# 统计Hot层总大小(单位:GB)
az storage blob list --account-name <你的存储账户名> --container-name <容器名> --query "[?properties.accessTier=='Hot'].properties.contentLength | sum(@)/1024/1024/1024" --output tsv

# 替换'Hot'为'Cool'或'Archive'即可统计对应层级

2. Azure PowerShell

统计各层级Blob数量与空间

# 登录Azure PowerShell
Connect-AzAccount

# 获取存储账户上下文
$storageAccount = Get-AzStorageAccount -ResourceGroupName <资源组名> -Name <存储账户名>
$containerContext = $storageAccount.Context

# 遍历Blob并统计分层数据
Get-AzStorageBlob -Container <容器名> -Context $containerContext | 
    Group-Object -Property AccessTier | 
    ForEach-Object {
        $totalSizeGB = [math]::Round(($_.Group | Measure-Object -Property Length -Sum).Sum / 1GB, 2)
        [PSCustomObject]@{
            AccessTier = $_.Name
            BlobCount = $_.Count
            TotalSizeGB = $totalSizeGB
        }
    }

3. Python SDK示例

from azure.storage.blob import BlobServiceClient

# 替换为你的存储账户连接字符串和容器名
CONNECTION_STRING = "<存储账户连接字符串>"
CONTAINER_NAME = "<容器名>"

def get_tier_stats():
    blob_service_client = BlobServiceClient.from_connection_string(CONNECTION_STRING)
    container_client = blob_service_client.get_container_client(CONTAINER_NAME)
    
    tier_stats = {
        "Hot": {"count": 0, "size_bytes": 0},
        "Cool": {"count": 0, "size_bytes": 0},
        "Archive": {"count": 0, "size_bytes": 0}
    }
    
    for blob in container_client.list_blobs():
        tier = blob.access_tier
        if tier in tier_stats:
            tier_stats[tier]["count"] += 1
            tier_stats[tier]["size_bytes"] += blob.size
    
    # 格式化输出
    for tier, stats in tier_stats.items():
        size_gb = stats["size_bytes"] / (1024 ** 3)
        print(f"Access Tier: {tier}")
        print(f"  Blob Count: {stats['count']}")
        print(f"  Total Size: {round(size_gb, 2)} GB\n")

if __name__ == "__main__":
    get_tier_stats()

编程方式获取分层成本

可以使用Azure Cost Management SDK(如Python的azure-mgmt-costmanagement),通过构建包含AccessTier维度的成本查询请求,拆分获取各层级的成本数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 11:50:33