自 @opennextjs/aws 3.4.0 起可用
默认未启用。当路由已被按需重新验证且需要更新 CDN 时,OpenNext 会使用此覆盖。ISR 重新验证不会调用它。
它将在 revalidatePath、revalidateTag 和 res.revalidate() 时被调用。
如果你想更好地了解如何实现自己的自动 CDN 失效,最简单的方法是查看现有的 包含的自动 CDN 失效 (opens in a new tab)
包含的自动 CDN 失效
dummy
Dummy AutomaticCDNInvalidation 是一个虚拟实现,什么都不做。它是默认实现。
cloudfront
⚠️
Cloudfront 失效可能非常昂贵。手动 CloudFront 路径失效会产生费用。根据 AWS CloudFront 定价页面 (opens in a new tab):
每月前 1,000 个请求失效的路径不收取额外费用。此后,每个请求失效的路径收费 0.005 美元。
此实现将为每个需要失效的路由发送失效请求(该请求会使 2 个路径失效,一个是路由本身,一个是数据路由)。
标签缓存失效最终可能会触发数千个失效请求。
仅在你了解成本并愿意为此付费时才使用此实现。
CloudFront 自动 CDN 失效将使 CloudFront 分发的缓存失效。
要求
- 你需要向服务器提供
CLOUDFRONT_DISTRIBUTION_ID环境变量。