如何检查本地文件是否与存储在S3中的文件相同而不下载?避免一次又一次地下载大文件. S3对象有电子标签,但如果文件是按部件上传的,并且这个question的解决方案似乎不起作用,则很难计算出来.有没有更简单的方法来避免不必要的下载
解决方法:
我只是比较上次修改时间和下载,如果它们不同.此外,您还可以在下载之前比较尺寸.给定一个桶,密钥和本地文件fname:
import boto3
import os.path
def isModified(bucket, key, fname):
s3 = boto3.resource('s3')
obj = s3.Object(bucket, key)
return int(obj.last_modified.strftime('%s')) != int(os.path.getmtime(fname))