我对AmazonS3上的更新对象执行CloudFront失效,以使其始终保持最新状态。我是否需要尽快对要从缓存中删除的已删除对象执行失效?
答案 0 :(得分:2)
除非 - 出于某种原因 - 您正在尝试确定无法再通过Cloudfront访问该对象,否则您“不需要”执行此操作。
从原点删除的对象(在这种情况下,原点是S3)最终将从缓存中的任何边缘位置清除它仍然存在。
由于Cloudfront没有相关的存储费用,因此很难从使来自原始对象的对象失效中获得任何实际好处,除非如上所述,您的意图是使对象无法从全局访问每个Cloudfront边缘位置。
但请注意,consistency model for S3仅在DELETE
个请求和覆盖PUT
请求中提供最终一致性。这意味着即使不太可能,S3中删除的对象在删除后仍可以在一段时间内仍然可访问(或者在用新的对象覆盖后,对象的旧版本仍然可以在短时间内访问版)。这是您在发送Cloudfront失效时需要记住的信息。虽然非常不可能,但理论上可以在相应的删除或更新在S3内部全局一致之前处理失效。