【发布时间】:2017-12-31 00:05:15
【问题描述】:
这个问题已经存在here 但我认为它会对 SO 产生更大的影响。
我创建了一个 AWS Lambda@Edge 函数,以便在 Cloudfront URL 到达源之前重写它们。
AWS Lambda@Edge 函数在发布时会自动复制到所有区域,所以在每个区域看到这一点我并不感到惊讶:
问题从这里开始:
我删除了 Lambda@Edge,因为它是一个测试,我想开始一个新的,但是副本没有同时被删除。
当时没什么大不了的,我想我可以简单地创建一个新的 Lambda@Edge 函数。
但是您不能,因为Cloudfront 触发器一次只能使用一个功能(因为副本使用它,您不能创建一个新功能)。
此外,触发器也不能删除。
所以现在我到处都使用 Lambda@Edge 副本,无法删除,也无法创建类似的副本。
TL;DR
- 我使用 CloudFront 触发器创建了 Lambda@Edge
- 我删除了它以创建一个新的(类似的)
- 现在还有一个副本存在
- 我无法删除副本
- 我无法创建新的 Lambda@Edge,因为触发器已被副本“使用”(我无法删除)
如果能得到这方面的帮助,我将不胜感激
弗朗索瓦
编辑:
我绝对认为这是一个错误,因为在我的副本页面中,指向 Master ARN 的链接以 404 响应。
【问题讨论】:
-
您是否尝试在源 lambda 函数中删除触发器?我可以在版本限定符指定的源 lambda 函数中看到触发器,并且删除有效。但是,即使触发器被删除,副本 lambda 函数仍然存在。
-
source lambda function,我猜你的意思是我最初创建的 Lambda@Edge。那是我删除的那个,所以我无法删除触发器,因为 Lambda 本身不再存在......
标签: amazon-web-services lambda aws-lambda amazon-cloudfront aws-lambda-edge