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

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的大小。

Windows Azure Storage (11) 计算你存储的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();
Windows Azure Storage (11) 计算你存储的Blob的大小

  请注意:计算的结果并不是你要支付的全部内容。像空白的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,如下图:

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

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

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

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

如下图:

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

 

 

分类: Azure Storage

本文转自Lei Zhang的博客博客园博客,原文链接:http://www.cnblogs.com/threestone/archive/2012/06/19/2555286.html,如需转载请自行联系原作者
上一篇:Java语言实现简单FTP软件------>辅助功能模块FTP站点管理的实现(十二)


下一篇:centos 6.4 QT5 的安装,找不到GLIBCXX_3.4.15的解决办法