gpt4 book ai didi

aws-lambda - AWS Lambda 的 : SAM deployment . ..识别和删除旧的 S3 包版本?

转载 作者:行者123 更新时间:2023-12-04 13:39:59 24 4
gpt4 key购买 nike

我对 AWS lambda 和 SAM 比较陌生,现在我已经开始工作了,我有一个看似简单的问题,但我找不到答案。

上周,我使用 SAM 启动并运行了一个 lambda 应用程序(多次构建、打包、部署,直到它工作为止)。

问题

所以现在我用来上传的 S3 存储桶有很多(大约 100 个)以前上传(通过 sam package)我的压缩代码版本。


  • 您如何确定哪些压缩包是当前的(即由当前功能和/或层使用的),并删除所有旧的过时的包?
  • SAM(cmd 行选项或模板文件)中有没有办法
    让它自动删除旧版本的包
    ' sam package ' 上传新版本?
  • AWS 控制台中是否有某个地方可以找到当前函数或层正在使用的存储桶中哪个 zip 文件的 key ? (我到处都试图找到它,但无法找到......很容易获得 ARN,但不是您的存储桶中映射到的实际 URI)

  • 轻微的并发症

    在我用来存储 lambda 包的存储桶中,我还有一个自定义层。
    因此,如果它只是应用程序包,我可以轻松地(现在)进入并删除存储桶中的所有内容,然后进行重新构建/打包/部署以清理它。 ...但这也会删除我的图层(并且 - 同样的问题 - 我现在确定该图层正在使用存储桶中的哪个 zip 文件)。

    但无论如何,这种方法不会长期有效,因为我计划将大约 10-15 个不同的包/函数放在一起,所以当其中一个被更新时删除存储桶中的所有内容是行不通的。

    感谢您的任何想法、想法和帮助!

    最佳答案

    1.在您的 packaged.yaml (在调用 sam package 后生成)文件,您可以在每个 lambda 函数下看到一个 CodeUri具有独特的路径 s3://your bucket/id . id 是当前函数和/或层使用的,并驻留在您的存储桶中。
    在层是 ContentUri .

    2. 当您“sam package”上传新版本时自动删除旧版本的包 - 我不知道这样的事情。

    3.通过AWS控制台您可以看到您的层版本我认为没有迹象表明您的功能/层CodeUri/ContentUri .

    关于aws-lambda - AWS Lambda 的 : SAM deployment . ..识别和删除旧的 S3 包版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58688223/

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