新しい Azure SDK 2.0 ライブラリを使用するように C# ソリューションをアップグレード中です。2.0 ライブラリの重大な変更を考慮して小さな変更を加えましたが、それ以外は同じコードです。ローカル ストレージに対してテストしたところ、すべて正常に動作しているように見えますが、運用環境の Azure BLOB ストレージに対してテストすると、BLOB アイテムが存在するかどうかを確認するだけで非常に時間がかかります。アイテムが存在するかどうかを示すブール値を返すだけで、文字通り 1 分以上かかります。
以下のサンプル コードで、完了するまでに非常に時間がかかる行は「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;
}
以前のように実行するために、コードに加える必要がある追加の変更はありますか?