【问题标题】:How to recover lambda code or edit it inline after uploading huge sized zip file to the aws lambda?将大型 zip 文件上传到 aws lambda 后,如何恢复 lambda 代码或内联编辑它?
【发布时间】:2019-09-09 04:44:39
【问题描述】:

首先,我是 AWS 的新手。我能够在线编辑我的 Lambda 代码,但我最近将一个 zip 文件(30MB)上传到 S3 存储桶,并将这个 zip 从 S3 添加到我的 Lambda,现在我的 Lambda 内联编辑器不再打开说以下内容错误

“您的 Lambda 函数“LF2”的部署包太大,无法 启用内联代码编辑。但是,您仍然可以调用您的函数。”

我尝试从 S3 存储桶中删除我的 zip 文件,希望无法访问 zip 的 URL,并且 lambda 会丢失 zip 文件并让我再次编辑该函数。但是,我的 lambda 大小仍然包含 30MB 的 zip 文件大小。我无法删除这个 zip,也想不出办法摆脱它并再次编辑我的 lambda 代码。

注意:我的 Lambda 代码是内联编写的,与 zip 文件不同(它仅包含我上传的弹性搜索设置文件,因为导入弹性搜索不起作用,所以我在代码中使用这些文件)。我知道在不上传 zip 的情况下会有更好的方法来做到这一点。

【问题讨论】:

    标签: amazon-web-services aws-lambda serverless


    【解决方案1】:

    是的,您可以下载 Lambda 函数。转到 Lambda 函数的 AWS 控制台,确保您在配置视图中,然后单击操作 |导出功能。这将允许您下载包含 Lambda 函数的 ZIP 文件。

    请注意,一旦您通过 S3 上传 Lambda 函数,它就会被 Lambda 服务复制。此时没有与您上传的 S3 对象的连接。造成这种情况的一个原因是,如果您不小心或以其他方式从 S3 中删除了该文件,您的 Lambda 函数将会中断。

    【讨论】:

    • 这只会下载我上传的 zip 文件,而不是我的 Python Lambda 代码。我需要在线编辑我的 Python 代码或至少检索代码。我该怎么做?
    • 感谢 jarmod 关于 lambda 服务如何复制 s3 对象的解释。但是,我已经用注释更新了我的描述。我没有通过 S3 上传我的 lambda,我有我的 lambda 代码,我只是尝试通过 s3 上传 elasticsearch 库 zip 文件,因为“import elasticsearch”不起作用。
    • 您上传到 Lambda 的 ZIP 文件成为您的新 Lambda 函数,替换之前的函数。如果它实际上不是一个有效的功能,那是无关紧要的,不幸的是。你有原始源代码的备份吗?
    • 伤心,我不知道它会取代我的代码,我以为它在那里添加任何外部依赖项左右。不幸的是,我没有任何备份,因为我没想到会这样。看来我可以再做一次:(谢谢。
    • 对不起,我知道那很痛苦。如果您没有备份源,我想不出一种明显的方法来恢复源。也就是说,请注意,如果您在 Lambda 控制台之外进行开发,那么您可以轻松地打包并部署到 Lambda 中。如果您在 Lambda 控制台中编写代码,则可以导出代码(如上所述)。您还可以在 Lambda 函数上启用版本控制,但这并不能真正解决您遇到的问题(因为它与发布函数有关,而不是进行简单的代码更改)。
    【解决方案2】:

    我昨天遇到了这个问题,然后我设法找到了我的代码,但没有找到从 AWS lambda 中消失的完整代码。我再次编写了该代码,对其进行了测试,然后尝试通过在我自己的系统中对其进行压缩,以与 lambda 函数相同的名称和相同的 lambda 函数上传它。

    上传时,lambda 让我可以在我上传的远程文件和之前保存的本地文件之间进行选择。我选择了本地文件,然后砰!我找回了上次保存的代码。

    因此,我建议您尝试上传一个随机的空白压缩 zip 文件,其中包含一个与 lambda 函数相同的文件名。它会让您选择从两个文件中进行选择,然后选择 "local" 文件。它会将您带到您的代码所在的内联编辑器。

    【讨论】:

    • 刚试了下,貌似不行了
    • @Will 什么不起作用?
    【解决方案3】:

    我刚刚遇到了同样的问题 .. 好像上传用导出处理程序替换了以前的 index.js。

    【讨论】:

    • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 2018-10-25
    • 2017-01-21
    • 2021-03-07
    • 2018-11-16
    • 2020-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多