>我对 AmazonS3 上的更新对象执行 CloudFront 失效,以使其始终保持最新状态。我是否需要尽快对要从缓存中删除的已删除对象执行失效?
您"不需要"执行此操作,除非出于某种原因,您试图确定无法再通过 Cloudfront 访问该对象。
已从源中删除的对象(在本例中为源为 S3)最终将从缓存中清除,这些对象恰好仍然存在的任何边缘站点。
由于 Cloudfront 没有相关的存储费用,因此很难想到使已从源中删除的对象失效对您有什么实际好处,除非如上所述,您的意图是使对象无法从每个 Cloudfront 边缘站点全局访问。
但请注意,S3 的一致性模型仅对DELETE
请求和覆盖PUT
请求提供最终一致性。 这意味着,即使不太可能,S3 中已删除的对象在您删除后的一段时间内仍可访问(或者旧版本的对象在您用新版本覆盖后仍可在短时间内访问)。 这是您在发送 Cloudfront 失效时需要牢记的信息。 虽然可能性很小,但理论上有可能在 S3 中相应的删除或更新全局一致之前处理失效。