首页 > 解决方案 > 如何使用 CloudBlobDirectory 存储

问题描述

我试图在不通过 C# 代码迭代列表的情况下一次性获取 CloudBlobDirectory 上的图像大小,因为迭代需要时间来加载页面。

我在网上搜索过,但所有代码都通过列表迭代显示。

if (cloudBlobContainer.Exists() == true)
{
    CloudBlobDirectory folder = cloudBlobContainer.GetDirectoryReference(Subcontainer);
    foreach (var blobItem in folder.ListBlobs())
    {
        try
        {
            var blob = blobItem as CloudBlockBlob;
            if (blob != null)
                filesize += blob.Properties.Length;
        }
        catch { continue; }
    }
}

时间只关心它应该在 2-3 秒内返回结果,因为大量图像显示 Azure 存储的占用大小。

标签: c#azure-storageazure-blob-storage

解决方案


如果时间是您唯一关心的问题,请将“长度”保存到某个地方(数据库或文件)。

如果上传到 blob 由您控制,请在上传时保存文件长度。如果没有,请在特定时间段(例如每 5 分钟)运行程序扫描文件并保存文件长度。


推荐阅读