《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,可以参考我开发的代码,相应的源代码可以在这里下载
https://files.cnblogs.com/threestone/ComputeBlobSize.rar
2015-02-28更新
Azure Management Portal已经提供对于Blob存储容量的监控了
我们登陆https://manage.windowsazure.com,选择存储账号,在设置中,选择Monitoring->Minimal,如下图:
保存好以后,在Monitor里,点击Add Metrics,如下图:
在弹出的界面中,选择Capacity,稍等一段时间以后,就可以显示该存储账号的总容量大小了。
如下图:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构