我正在尝试构建一个工作流来更新S3存储桶上的文件,并在Cloudfront上使它们无效,以便从缓存中删除它。
这些文件包括JS,CSS,图像,媒体等。我正在使用grunt来缩小它们。
这是我认为的理想情况:
我面临的问题是,在第1步中,缩小的文件都有比S3更新的时间戳,所以当我运行aws s3 sync时,它会尝试上传所有的文件回到S3。我只想上传修改后的文件。
我也欢迎提出改变整个工作流程的建议。有什么建议吗?
答案 0 :(得分:1)
s3cmd能够通过仅上传已修改的文件来解决问题。它不检查时间戳更改,而是检查内容更改(在内部将MD5哈希值分配给每个文件,然后使用S3中存在的文件检查文件的本地版本,仅上载那些MD5哈希值不匹配的文件)
它有many command line options,包括使来自CloudFront分配的上传文件无效的选项