c# - 如何使用 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 存储的占用大小。
解决方案
如果时间是您唯一关心的问题,请将“长度”保存到某个地方(数据库或文件)。
如果上传到 blob 由您控制,请在上传时保存文件长度。如果没有,请在特定时间段(例如每 5 分钟)运行程序扫描文件并保存文件长度。
推荐阅读
- allure - 无需在系统 Allure 命令行工具中安装即可生成魅力报告
- php - 如何在 sh 文件 30 分钟后停止 PHP cron 作业
- android - Google Books API 返回意外的缩略图 URL
- ruby - rspec 在程序退出时退出
- python - 如何用 pandas 读取合并的单元格(xls,xlsx)?
- c# - HashSet:推断正确的 EqualityComparer
。默认? - c# - 当应用程序在 docker 容器中运行时,ASP.NET API 中的 MSAL .NET 设备代码身份验证不起作用
- php - PHP数组插入表取决于每个数组
- scala - 如何在胖罐子依赖中遮蔽包裹
- javascript - 如何将甜甜圈的 svg 添加到每个节点以代替径向树图中的圆圈