gpt4 book ai didi

amazon-web-services - 旧的 AWS Lambda 层会自动删除吗?如果没有,如何删除它们?

转载 作者:行者123 更新时间:2023-12-01 03:05:20 24 4
gpt4 key购买 nike

经阅读 this article它讨论了使用 AWS Lambda 函数的主要缺点,我试图避免作者必须处理的内容并对我自己的代码执行一些清理:

"Lambda versions every function. We use the Serverless Framework for developing Lambda application. This means that Serverless creates Lambda functions. Our average Lambda function is about 60MB. [...]
When you couple CI/CD with rapid development and Lambda functions, you get many versions. Hundreds even. And Lambda code storage is limited to 75GB. We hit that limit, and we hit it hard. After two years of CI/CD driven development, our lack of version cleanup led to complete gridlock in our development process."



(强调我的)

关于我的架构。我有 lambda 函数,它们从自制的 python 包中调用方法,这些包存储在 layers 中。 .目标是避免在 lambda 中包含太多代码并轻松重用其中的功能。

现在,我找到了如何删除旧版本的 lambda 函数(我也在使用无服务器框架,它提供了一个很好的插件,用于在部署堆栈时自动修剪它们)。但是,我不知道 AWS 是否会自动删除旧层:我还没有找到汇总我所有层版本的总代码大小的仪表板,而且我找不到自动删除它们的插件。

旧的 AWS Lambda 层会自动删除吗?如果没有,我怎么能批量删除它们?

最佳答案

旧图层不会自动删除。您可以 run a CLI command例如以下删除图层版本:

$ aws lambda delete-layer-version --layer-name my-layer --version-number 1

他们在这里的关键点是您正在删除图层的一个版本。你可以循环运行上面的命令来批量删除一堆层版本,也许结合调用 list-layer-versions .您还可以通过控制台删除图层版本。删除图层的所有版本后,图层本身也将被删除。该链接中的其他一些有趣观点是

When you delete a layer version, you can no longer configure functions to use it. However, any function that already uses the version continues to have access to it. Version numbers are never re-used for a layer name.



该文档没有指定保留在 lambda 中的“已删除”层,而函数仍然引用它是否计入您的总大小配额。

另见
  • https://docs.aws.amazon.com/cli/latest/reference/lambda/delete-layer-version.html其中声明

  • To avoid breaking functions, a copy of the version remains in Lambda until no functions refer to it.

    关于amazon-web-services - 旧的 AWS Lambda 层会自动删除吗?如果没有,如何删除它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58220581/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com