Windows Azure Storage (11) 计算你存储的Blob的大小

本文介绍如何使用代码计算Azure Blob存储的总大小,包括通过枚举所有容器和Blob的方法,并指出计算结果不包含所有计费因素。同时,提及了Azure Management Portal提供的Blob存储容量监控功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  Windows Azure Platform 系列文章目录

 

  熟悉Windows Azure的网友都知道,Windows Azure Storage有三种:分别是Blob、Table和Queue。Blob可以存储二进制文件,比如图片、照片、Word、Excel文件等等。而Windows Azure Storage是按需收费的,控制好Blob存储容量的大小可以让我们更好的控制成本。

  到目前为止,微软还没有开放API计算某一个Blob Container的大小,但是你可以通过以下的代码来计算:

var totalBytes = (from CloudBlob blob in
                  container.ListBlobs(new BlobRequestOptions() { UseFlatBlobListing = true })
                  select blob.Properties.Length
                 ).Sum();

  同样的道理,我们可以通过枚举所有的container来计算整个Blob Storage的大小。下面的代码将会计算某一个Storage Account下存储的所有的Blob的大小。

var totalBytes = (from container in blobClient.ListContainers()
                  select
                  (from CloudBlob blob in
                   container.ListBlobs(new BlobRequestOptions() { UseFlatBlobListing = true })
                   select blob.Properties.Length
                  ).Sum()
                 ).Sum();

  请注意:计算的结果并不是你要支付的全部内容。像空白的Page Blobs,未提交的Block Blobs,快照,元数据等都会影响您账户中使用的总存储量。上面的代码片段只是简单的计算了您存储的Blob的大小。

 

参考:http://blog.smarx.com/posts/computing-the-total-size-of-your-blobs

 

 

2014-10-29 更新

另外,SDK 1.7以后版本,相应的API已经改变了

针对新的SDK,可以参考我开发的代码,相应的源代码可以在这里下载

http://files.cnblogs.com/threestone/ComputeBlobSize.rar

 

 

2015-02-28更新

Azure Management Portal已经提供对于Blob存储容量的监控了

我们登陆https://manage.windowsazure.com,选择存储账号,在设置中,选择Monitoring->Minimal,如下图:

保存好以后,在Monitor里,点击Add Metrics,如下图:

在弹出的界面中,选择Capacity,稍等一段时间以后,就可以显示该存储账号的总容量大小了。

如下图:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值