Lambda@Edge - 您无法使用此 API 版本更新指定的分配,因为它与缓存策略相关联

Lambda@Edge - You cannot update the specified distribution using this API version because it is associated with a cache policy

我正在尝试设置 Lambda@Edge,但在单击 Deploy to Lambda@Edge 按钮时出现以下错误。

You cannot update the specified distribution using this API version because it is associated with a cache policy.

我的 CloudFront 分配已经准备就绪并处于 Deployed 状态。

有人可以帮我解决这个问题吗?

我可以通过切换到 'Legacy cache settings' 来解决这个问题。我从这个 link 中获得了领先:https://forums.aws.amazon.com/message.jspa?messageID=950582

有这个错误:

You cannot update the specified distribution using this API version because it is associated with a cache policy. 
(Service: AmazonCloudFront; Status Code: 400; 
Error Code: IllegalUpdate;
 Request ID: xxxxxxxxxxx-xxxxx-49c2-b15e-6xxxxxxxxx; Proxy: null)

解决:

  • 我已经在 'Legacy cache settings'
  • 缓存了政策
  • 将其切换回托管优化缓存策略
  • 再次切换到 'Legacy cache settings'

在此之后,错误消失了。

尝试使用 terraform 进行一些更改时遇到同样的错误,您需要按照以下步骤解决它:

  • 转到 AWS 控制台上的 Cloudfront
  • 选择您的 Cloudfront 发行版。
  • 点击 Behaviours 并选择编辑您的来源。
  • Cache and origin request settings 选择 Use legacy cache settings
  • 现在您可以自定义缓存 TTL 值(推荐:Minimum TTL: 0Maximum TTL: 31536000Default TTL: 86400)。