如何获取Azure CloudBlobContainer的大小

kme*_*hta 5 .net c# azure-storage

我正在为我的应用程序创建一个.net包装器服务,该服务将Azure Blob存储用作文件存储.我的应用程序CloudBlobContainer为我的系统上的每个"帐户" 创建一个新的.每个帐户都限制为最大存储量.

查询Azure CloudBlobContainer的当前大小(空间利用率)的最简单,最有效的方法是什么?

kme*_*hta 13

仅供参考,这就是答案.希望这可以帮助.

public static long GetSpaceUsed(string containerName)
{
    var container = CloudStorageAccount
        .Parse(ConfigurationManager.ConnectionStrings["StorageConnection"].ConnectionString)
        .CreateCloudBlobClient()
        .GetContainerReference(containerName);
    if (container.Exists())
    {
        return (from CloudBlockBlob blob in
                container.ListBlobs(useFlatBlobListing: true)
                select blob.Properties.Length
               ).Sum();
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)