Windows Azure Blob Store に保存されているファイルのハッシュを取得しようとしています。
次に、ハッシュをローカル マシンに保存されているバージョンと比較して、違いがあるかどうかを確認したいと考えています。
次のコードはハッシュを取得します。
_CloudBlobClient = SetupCloudBlobClient();
CloudBlobContainer cbContainer = _CloudBlobClient.GetContainerReference(sContainer);
CloudBlockBlob cbBlob = cbContainer.GetBlockBlobReference(sBlob);
BlobStream stream = cbBlob.OpenRead();
StringBuilder sb = new StringBuilder();
MD5 md5 = MD5CryptoServiceProvider.Create();
byte[] hash = md5.ComputeHash(stream);
foreach (byte b in hash)
sb.Append(b.ToString("x2"));
return sb.ToString();
問題は、これは小さなファイルでは問題なく機能しますが、100MB を超えるファイルで作業していて、これらのファイルの場合、サービスに時間がかかりすぎて最終的にタイムアウトになることです。
これが正しいアプローチなのか、それとも 2 つのファイルに同じデータが含まれているかどうかを判断する別の方法があるのかどうか疑問に思っています。
ありがとう、マット