Amazon web services 无法删除AWSLambda@Edge复制品

Amazon web services 无法删除AWSLambda@Edge复制品,amazon-web-services,lambda,aws-lambda,amazon-cloudfront,aws-lambda-edge,Amazon Web Services,Lambda,Aws Lambda,Amazon Cloudfront,Aws Lambda Edge,这个问题已经存在,但我认为它会对这方面产生更大的影响 我创建了一个AWSLambda@Edge函数以便在到达源站之前重写Cloudfront URL。 自动气象站Lambda@Edge函数在发布时会自动复制到所有区域,因此在每个区域中看到这一点我并不感到惊讶: 问题就从这里开始了: 我删除了Lambda@Edge因为这是一个测试,我想开始一个新的测试,但副本没有同时被删除。 那时候没什么大不了的,我想我可以创造一个新的Lambda@Edge功能。 但您不能这样做,因为Cloudfront触发器

这个问题已经存在,但我认为它会对这方面产生更大的影响

我创建了一个AWSLambda@Edge函数以便在到达源站之前重写Cloudfront URL。
自动气象站Lambda@Edge函数在发布时会自动复制到所有区域,因此在每个区域中看到这一点我并不感到惊讶:

问题就从这里开始了:
我删除了Lambda@Edge因为这是一个测试,我想开始一个新的测试,但副本没有同时被删除。
那时候没什么大不了的,我想我可以创造一个新的Lambda@Edge功能。
但您不能这样做,因为Cloudfront触发器一次只能使用一个功能(由于副本使用它,您无法创建新的功能)。
此外,也不能删除触发器

所以现在我只能忍受Lambda@Edge复制副本无处不在,我无法删除,也无法创建类似的副本


TL;DR

  • 我创造了一个Lambda@Edge用云端触发器
  • 我删除了它以创建一个新的(类似的)
  • 现在仍然存在一个副本
  • 我无法删除复制副本
  • 我不能创建一个新的Lambda@Edge因为触发器已被复制副本“使用”(我无法删除)
如果能在这方面得到一些帮助,我将不胜感激
弗朗索瓦


编辑:


我肯定认为这是一个bug,因为在我的复制品页面中,指向Master ARN的链接以404作为响应。

我找到了部分答案:

事实证明,我需要删除Cloudfront行为中的触发器
简单地说:

  • 转到Cloudfront发行版的行为
  • 检查触发LambdaEdge的一个
  • 单击编辑
  • 转到页面最底部,单击X删除触发器

尽管如此,我无法删除复制副本,但至少我可以为此触发器创建新的lambda…

我向AWS支持人员询问了这个问题,其回答是:“您现在无法删除复制的lambda函数,但我们知道许多人需要它”

自动气象站Lambda@Edge

创建触发器时,Lambda将函数复制到AWS 全球各地的区域和云前沿位置。注意 无法编辑或删除副本


即使我尝试*删除触发器,然后创建lambda(在我的例子中,lambda接近30)*,但我无法创建新的触发器lambda@edge. 我终于做到了

删除了与lambda函数相关的云端分布, 现在,进一步行动很简单。请确保分发仅由相关lambda使用


现在有一个文档说明复制副本在“几个小时”后被删除,这意味着我也可以删除Lambda函数


更新2020-01-05:如果删除lambda,需要约1小时,所有内容都将消失!因此,它只是比较慢,但行为与普通Lambdas类似?

我发现的最佳答案是能够删除该函数,请按照以下步骤操作:

  • 对于已部署函数的每个版本,删除该特定函数的触发器
  • 等待几个小时,直到AWS将自动删除该特定功能的所有已部署副本
  • 自动删除所有副本后,请再次尝试删除Lambda函数。你应该成功
  • 来源:

    嗨,我已经找到了删除的解决方案Lambda@edge复制品。

  • 首先,登录CloudFront控制台并转到您的发行版
  • 行为选项卡下-勾选列出的行为和编辑
  • 向下滚动至Lambda函数关联,并通过单击X删除任何关联
  • 是,编辑保存更改。 ---现在您已经删除了关联,现在是删除关联的时候了Lambda@edge复制品
  • 转到Lambda控制台并打开Lambda(您希望删除)
  • 在顶部菜单-限定符->版本->选择列出的下拉版本
  • 它将打开@edgeLambda版本
  • 在顶部菜单上-操作->删除版本
  • 这样,就可以删除所有版本-只剩下$LATEST
  • 同时删除-您最终可以删除Lambda@edge作用
  • 注意!>请记住删除与关联的任何IAM角色和权限Lambda@edge功能


    我希望这对您有用,请欣赏:)

    您是否尝试删除源lambda函数中的触发器?我可以在版本限定符指定的源lambda函数中看到触发器,并删除作品。但是,即使删除了触发器,副本lambda函数仍然存在Lambda@Edge我一开始创造的。这是我删除的一个,所以我不能删除触发器,因为Lambda本身已经不存在了…你说得对,我在文档中读到了。虽然,也许他们应该解释如何删除行为中的触发器,以便能够在该触发器上重新创建lambda。是的,这是目前唯一的解决方案。因此,我在AWS峰会上与架构师讨论了这一点。您的解决方案是正确的(即删除与其关联的每个行为中的触发器)。您将无法立即删除该函数(因为它是复制的,删除此关联需要时间),但是,如果您给它24小时的传播时间,您将能够删除该函数。我有一些lambda,其中CloudFront发行版已被删除一周,但我仍然无法删除它们。我