我正在升级我的 c# 解决方案以使用新的 Azure SDK 2.0 库。我做了一些小改动来解释 2.0 库中的重大更改,但除此之外,它是相同的代码。我已经针对本地存储进行了测试,一切似乎都运行良好,但是当我针对生产 Azure blob 存储进行测试时,仅检查 blob 项是否存在就需要花费大量时间。简单地返回一个指示该项目是否存在的布尔值实际上需要一分钟甚至更多。
在下面的代码示例中,需要很长时间才能完成的行是“if (!blob.Exists())”。
public byte[] GetBlobContent(string blobName)
{
if (blobName == "") return null;
var blobClient = _storageAccount.CreateCloudBlobClient();
var container = blobClient.GetContainerReference(_containerName);
var blob = container.GetBlockBlobReference(blobName);
if (!blob.Exists())
{
return null;
}
byte[] buffer;
using (var ms = new MemoryStream())
{
blob.DownloadToStream(ms);
buffer = ms.ToArray();
}
return buffer;
}
我需要对我的代码进行其他更改以使其像以前一样执行吗?