我们在Amazon S3上放置了数百个图像文件,我们的用户需要将这些文件与其本地目录同步。为了节省存储空间和带宽,我们压缩存储在S3上的文件。将未压缩的本地文件与存储在Amazon S3上的压缩文件进行比较?
在用户端,他们有一个python脚本,每5分钟运行一次以获取当前的文件列表,并下载新的/更新的文件。
我的问题是确定什么是新的或更改下载的最佳方式是什么?
目前我们补充一点,我们与压缩文件,其中包含未压缩文件的MD5值,把一个额外的头......
我们从这样一个文件:
image_file_1.tif 17MB MD5 = xxxx1234
我们压缩它(与7zip的),并把它放到S3(使用Python /博托):
image_file_1.tif.z 9MB MD5 = yyy3456 x-amz-meta-uncompressedmd5 = xxxx1234
的问题是,我们不能从S3文件的大名单,其中包括了X-AMZ-元uncompre ssedmd5头文件,无需每个API的额外API(数百/数千个文件的SLOW)。
我们最实际的解决方案是让用户获得文件的完整列表(不带额外的标头),下载本地不存在的文件。如果它确实存在于本地,那么请执行额外的API调用以获取完整头文件,以将本地MD5校验和与x-amz-meta-uncompressedmd5进行比较。
我在想一定有更好的办法。
为了不弄乱文件名,您可以创建另一个带有MD5内容的文件,如image_file_1.tif.md5。 – Pih 2011-04-29 08:48:53