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

复制代码
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,稍等一段时间以后,就可以显示该存储账号的总容量大小了。

如下图:

 

 

分类:  Azure Storage

本文转自Lei Zhang的博客博客园博客,原文链接:http://www.cnblogs.com/threestone/archive/2012/06/19/2555286.html,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
存储 负载均衡 Java
如何配置Windows主机MPIO多路径访问存储系统
Windows主机多路径(MPIO)是一种技术,用于在客户端计算机上配置多个路径到存储设备,以提高数据访问的可靠性和性能。本文以Windows2012 R2版本为例介绍如何在客户端主机和存储系统配置多路径访问。
82 13
如何配置Windows主机MPIO多路径访问存储系统
|
27天前
|
C# Windows
【Azure App Service】在App Service for Windows上验证能占用的内存最大值
根据以上测验,当使用App Service内存没有达到预期的值,且应用异常日志出现OutOfMemory时,就需要检查Platform的设置是否位64bit。
41 11
|
4月前
|
PHP Windows
【Azure App Service for Windows】 PHP应用出现500 : The page cannot be displayed because an internal server error has occurred. 错误
【Azure App Service for Windows】 PHP应用出现500 : The page cannot be displayed because an internal server error has occurred. 错误
|
4月前
|
网络安全 API 数据安全/隐私保护
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Windows)
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Windows)
|
4月前
|
Shell PHP Windows
【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
|
4月前
|
存储 Linux Windows
【应用服务 App Service】App Service For Windows 如何挂载Storage Account File Share 示例
【应用服务 App Service】App Service For Windows 如何挂载Storage Account File Share 示例
|
存储 安全 Windows
【Windows10】Win10存储空间的作用以及如何创建存储空间
【Windows10】Win10存储空间的作用以及如何创建存储空间
441 0
|
存储 Windows Shell
windows phone 独立存储空间的操作 (2)
原文:windows phone 独立存储空间的操作 (2) IsolatedStorage独立存储空间是保存应用程序的一些数据已经配置文件,独立存储空间相对于其他的wp程序是独立的,也就是说每个wp程序都会有自己的独立存储空间,每个wp程序相互之间不能访问; 什么是Isolated Storage? Isolated Storage又叫做隔离存储空间,Windows Phone 7手机上用来本地存储数据。
1027 0