Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正在本地文件夹和Azure BlobContainer、etag(自ect以来已修改)之间进行文件同步_Azure - Fatal编程技术网

正在本地文件夹和Azure BlobContainer、etag(自ect以来已修改)之间进行文件同步

正在本地文件夹和Azure BlobContainer、etag(自ect以来已修改)之间进行文件同步,azure,Azure,我正在将文件从本地存储同步到Azure blob存储。除了MSDN文档站点上有关属性的默认信息之外,我找不到其他信息 我以前使用过eTag属性来查看文件是否已更改,以便同步到本地计算机。(我们只讨论单向同步)。是否有关于etag属性的任何文档?是文件MD5散列还是其他什么 我看到了另一个实现,它将文件的md5哈希保存在内存中,用于本地文件,并将其元数据存储在容器中的文件中,我想知道这是不是一种方法?您在Etag中使用的方法是我见过的最常见的方法。当blob更改时,Etag将更改。。。但是,它不会

我正在将文件从本地存储同步到Azure blob存储。除了MSDN文档站点上有关属性的默认信息之外,我找不到其他信息

我以前使用过eTag属性来查看文件是否已更改,以便同步到本地计算机。(我们只讨论单向同步)。是否有关于etag属性的任何文档?是文件MD5散列还是其他什么


我看到了另一个实现,它将文件的md5哈希保存在内存中,用于本地文件,并将其元数据存储在容器中的文件中,我想知道这是不是一种方法?

您在Etag中使用的方法是我见过的最常见的方法。当blob更改时,Etag将更改。。。但是,它不会告诉您该更改是否真的没有更改任何内容(MD5哈希会更改)

例如:


如果你上传了一张图片,那么把另一张图片放在第一张图片的位置。Etag和MD5都会有所不同。但是如果您现在将该图像更改回第一个图像,Etag将再次不同,但MD5将与您的第一个图像相同。

但是如果没有MD5哈希,我是否能够检测到自上次同步以来更改的文件?如果我不将服务器etag与文件一起存储?我想我是在问我是否可以在本地文件上计算etag?很好,你将无法“计算”etag。如果要检查更改,最准确的方法是将md5存储在blob的元数据上,然后比较本地文件的md5(在计算或从本地存储中提取后)。md5在使用2.0存储客户端的每次上载时自动计算,运行良好