Azure 文件存储在删除本地副本之前上传后验证文件

Posted

技术标签:

【中文标题】Azure 文件存储在删除本地副本之前上传后验证文件【英文标题】:Azure File storage validate file after upload before deleting local copy 【发布时间】:2020-07-27 17:53:33 【问题描述】:

我们正在将数据迁移到 Azure 文件存储,并希望在上传完成后验证上传,然后再从本地服务器删除文件。

下面的代码可以正常工作,但我从文档中不太清楚之后如何验证文件。

我打算比较字节数,但看起来使用 transactionalCRC 可以,但我似乎无法实现它

MS Docs on CRC64

        byte[] theFile = UploadHelper.GetFileAsByteArray(theUpload);

        CloudFile theCloudFile = rootDir.GetFileReference(theUpload.Name);
        Stream theMemoryStream = new MemoryStream(theFile);
        await theCloudFile.UploadFromStreamAsync(theMemoryStream);

或者,如果我想太多了,并且有更好的方法,我会很感激你的洞察力。

谢谢,

【问题讨论】:

如果你有备份,我不会再做任何事情了。如果 Azure 响应“201”结果,您可以确信它是成功的。另请参阅***.com/questions/44395881/… 【参考方案1】:

关于如何验证文件完整性的问题在这里有一个流行且被接受的答案:

Calculate MD5 checksum for a file

【讨论】:

当文件在 Azure 上时,这有什么帮助?此外,如果问题是重复的,请将其标记为重复,不要发布答案。 @Patrick,所以我计算了本地和远程文件的哈希值,如果它们相同,我可以相信上传的有效性吗?似乎 transactionalCRC 检查可以作为上传的一部分完成。 @RobertSullivan 我认为如果哈希值相同,您可以信任上传 使用 Beyond Comapre 进行测试

以上是关于Azure 文件存储在删除本地副本之前上传后验证文件的主要内容,如果未能解决你的问题,请参考以下文章

Vbs脚本将本地文件上传到Azure存储账户

从 SVN 存储库中删除文件而不删除本地副本

在 azure blob 子容器中从本地上传 zip

如何在不将文件保存在本地存储上的情况下将对象传输到 Azure Blob 存储?

查看本地SPT上传到Microsoft Azure临时存储区是否成功的方法

备份SQL Server数据库到Azure Storage