如何检查Azure Storage BLOB文件是否已正确上传?

时间:2017-02-14 14:49:36

标签: azure azure-storage-blobs checksum

我使用AzCopy实用程序将大型zip存档上传到Azure Storage BLOB容器,大约9GB。现在我想检查一下是否正确。我可以从Azure门户获取该文件的“CONTENT-MD5”值。然后我需要在我身边计算这个,对吗?有没有其他方法来检查有效性(除了下载此文件)?它使用7zip实用程序存档,该实用程序没有MD5的哈希算法。

2 个答案:

答案 0 :(得分:2)

Azure Storage Blob服务不会为每个实时blob内容维护上载的Blob的“Content-MD5”属性。实际上,它是在上传过程中由AzCopy计算的,并在AzCopy完成上传时设置为目标blob。因此,如果您确实要验证数据完整性,则必须使用带有/ CheckMD5选项的AzCopy下载文件,然后将下载的文件与本地原始文件进行比较。

但是,鉴于AzCopy尽最大努力保护传输过程中的数据完整性,上述验证步骤可能是多余的,强烈建议不要这样做,除非数据完整性比您的情况下的性能更重要。

答案 1 :(得分:0)

从PowerShell中,您可以运行以下命令来获取文件的MD5哈希

Get-FileHash -Path "C:\temp\somefile.zip" -Algorithm MD5

如果您使用的是C#,也可以使用此代码段

using (var md5 = System.Security.Cryptography.MD5.Create())
{
    using (var stream = File.OpenRead(filename))
    {
        return md5.ComputeHash(stream);
    }
}
相关问题