自 @opennextjs/aws
3.4.0 版本起可用
默认不启用。当路由进行按需重新验证(On-Demand revalidation)且需要更新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
环境变量