我试图围绕我应该用什么方法来强制CDN刷新用户个人资料照片在网站上,其中CloudFront是提供个人资料照片的CDN,而S3是底层文件存储.
用户更新个人资料照片后,我需要确保用户个人资料照片是最新的.我看到有三个选项可以更新个人资料照片,并确保网站用户在修改个人资料照片后立即获取最新图像.在确保新鲜内容和最大长期成本效益方面,这些方法是否优于其他方法?是否有更好的方法来确保新鲜的内容和最大的长期成本效益?
>发出一个S3放置对象请求以使用其原始文件名保存文件,并发出一个Amazon CloudFront失效请求. Amazon CloudFront每月最多允许1000次免费失效请求,这似乎有点偏低
>发出一个S3delete对象请求以删除原始照片,然后一个S3放置对象请求以使用唯一的新照片文件名保存新照片.这将是每个文件更新的两个S3请求,并且不需要CloudFront CDN失效请求.然后,CloudFront会在更新后立即提供最新文件,并将图像URL自动设置为新文件名
>发出一个S3放置对象请求以使用其原始文件名保存文件,然后客户端将版本代码附加到CDN URL(即/img/profilepic.jpg?x=timestamp)或该行的某些内容.我不确定这个策略在使缓存的CloudFront对象失效方面有多么有效
谢谢