Azure Blob存储 - 损坏的MD5

时间:2014-03-24 00:29:01

标签: azure

我想知道在执行文件复制时,blob的MD5属性是否会随着时间的推移而被破坏。

是否有任何其他调用使blob重新计算其md5属性?

我正在使用云莓果,之前我遇到过问题,并开始怀疑它是否真的是一个错误。我似乎越来越多

Microsoft.WindowsAzure.Storage.StorageException: Calculated MD5 does not match existing property

使用c#azure storage nuget包下载文件时。对文件进行的唯一更改是使用cloudberry从一个存储帐户到另一个存储帐户的一些副本。还有其他人看到过类似的问题吗?

1 个答案:

答案 0 :(得分:0)

  

是否有任何其他调用使blob重新计算其md5属性?

据我所知,没有REST API调用来重新计算blob的MD5属性。您可以做的是根据blob的数据计算MD5并更新blob的MD5属性。

  

Microsoft.WindowsAzure.Storage.StorageException:计算的MD5可以   与现有财产不匹配

您可以使用以下代码实际绕过此错误:

        BlobRequestOptions options = new BlobRequestOptions()
        {
            DisableContentMD5Validation = true,
        };
        blockBlob.DownloadToStream(memoryStream, null, options);

有关此内容的更多信息:Azure Storage Calculated MD5 does not match existing property

所以你的方法是首先使用上面的代码下载blob内容,重新计算内容的MD5并通过指定新的MD5来更新blob的属性。

我还没有使用过Cloudberry,所以如果有任何问题我无法发表评论。我建议在他们的支持论坛上与他们联系。