aws cdk:无法删除 lambda 边缘

Posted

技术标签:

【中文标题】aws cdk:无法删除 lambda 边缘【英文标题】:aws cdk: Unable to delete lambda edge 【发布时间】:2021-06-28 03:55:46 【问题描述】:

无法通过 aws cdk 删除 lambda 堆栈:

Lambda was unable to delete lambda because it is a replicated function.

【问题讨论】:

您可以添加您的代码吗?在与云端完全解除关联之前,我们无法删除 lambda@edge! 您是否按照错误消息中的建议查看了文档? 请看这个链接:***.com/a/50748658/2447211 【参考方案1】:

如果您能够遇到这种情况,那么您很可能刚刚删除了一个确实具有 lambda 边缘函数的堆栈。在这种情况下,复制的功能会被揭示(当边缘功能就地/正在使用时,您看不到它们)。你不需要做任何事情,耐心点就可以了 - 复制的功能会在一段时间后消失。

【讨论】:

【参考方案2】:

使用 CloudFront 资源和关联的 Lambda@edge 删除 CloudFormation 堆栈时 - CloudFormation 首先启动对 CloudFront 资源和指向 lambda@edge 的链接的删除请求,因为 lambda@edge 被复制到边缘位置,它最多需要几个小时即可完成链接删除。

我的解决方法是分两个阶段运行完整的清理 -

    删除堆栈并忽略DELETE_FAILED 状态如果只是 lambda 删除失败(并且其他资源已成功删除)

    重新删除几个小时后 DELETE_FAILED 堆栈(或者使用由 cron 事件触发的清理 lambda 自动执行以清理具有 DELETE_FAILED 状态的 CloudFormation 堆栈)

【讨论】:

以上是关于aws cdk:无法删除 lambda 边缘的主要内容,如果未能解决你的问题,请参考以下文章

AWS CDK API Gateway 启用 Cors

AWS CDK - 多个堆栈 - 找不到 Lambda 代码位置的参数

如何使用 AWS CDK Pipelines 构建不同语言的 lambda

无法删除 AWS Lambda@Edge 副本

使用 AWS CDK 在 AWS Codepipeline 中部署 Python Lambda 函数

Lambda 安全组删除挂起且无法在 AWS 控制台中删除