SmarxさんのBlogに、Blobのトータルサイズを計算する 1 Linerが紹介されてた。
http://blog.smarx.com/posts/computing-the-total-size-of-your-blobs
var blobClient = account.CreateCloudBlobClient(); var size = (from container in blobClient.ListContainers() select (from CloudBlob blob in container.ListBlobs(new BlobRequestOptions() { UseFlatBlobListing = true }) select blob.Properties.Length ).Sum() ).Sum();
これをがんばってメソッドチェインに変換してみる。うーむ、見にくい。
ま、書きやすいほうを選べばすればいいんだけどね。
var size = (blobClient.ListContainers().Select(container => (container.ListBlobs(new BlobRequestOptions(){UseFlatBlobListing = true}). Cast<CloudBlob>().Select(blob => blob.Properties.Length)).Sum())).Sum();
このサイズが、課金サイズじゃないことに注意。
PageBlobのempty page, BlockBlobのuncommited block メタデータなど、その他諸々あるからとのこと。