Amazon web services 上传到S3后立即刷新CDN中具有相同文件名的图像

Amazon web services 上传到S3后立即刷新CDN中具有相同文件名的图像,amazon-web-services,cdn,amazon-cloudfront,Amazon Web Services,Cdn,Amazon Cloudfront,我使用amazon Cloudfront CDN和S3作为源服务器,在我的应用程序上提供用户的个人资料照片等图像。我以.jpg的文件名存储用户的个人资料照片。当用户更改其个人资料照片时,如何立即刷新CDN中的图像 由于文件名是.jpg,因此我无法为新图像指定新名称。您需要存储更改次数的计数,并在站点上使用类似.jpg?v=2的内容。您必须为CloudFront发行版打开查询字符串 如果不更改文件名或查询字符串,则必须使用CloudFront失效,这将需要大约15分钟才能在任何地方生效。通过AWS

我使用amazon Cloudfront CDN和S3作为源服务器,在我的应用程序上提供用户的个人资料照片等图像。我以
.jpg
的文件名存储用户的个人资料照片。当用户更改其个人资料照片时,如何立即刷新CDN中的图像


由于文件名是
.jpg
,因此我无法为新图像指定新名称。

您需要存储更改次数的计数,并在站点上使用类似
.jpg?v=2
的内容。您必须为CloudFront发行版打开查询字符串


如果不更改文件名或查询字符串,则必须使用CloudFront失效,这将需要大约15分钟才能在任何地方生效。

通过AWS自己的LAMBDA实现自动化将是最好的选择。我不能相信这个脚本,只能在谷歌上找到它


维护和使用文件更改事件计数器对我来说有点麻烦。。无法使用查询字符串中的某个随机大值来响应最新版本?当然,可以使用随机数。不过,如果CDN的数字在每次页面浏览时都发生变化,那么您将几乎失去CDN的所有好处。谢谢。添加查询字符串的url是否也是使cloudfront缓存无效的一种方法,我的意思是,在使用查询字符串请求url文件之后,对不使用查询字符串的url的后续请求是否会返回新的更新图像?@user01否。cloudfront将它们视为两个完全独立的项。CDN不打算立即替换图像。这是缓存的标准行为。您可以使用查询字符串(次优)或
缓存控制设置来解决此问题,但是。。它缺少CDN的要点。