node8.10 中的无服务器 Lambda 部署不上传任何代码
Serverless Lambda deployment in node8.10 not uploading any code
我有一个使用无服务器部署的 lambda 函数。它是使用 node6.10
运行时部署的,因此我决定改为使用 node8.10
运行时重新部署该服务。
然而,在进行此重新部署之后,我遇到了一个奇怪的问题,即我无法调用该函数,并且由于文件太大 (60mb+),无法再向该函数部署更新。我能够通过卸载并重新安装 serverless-plugin-optimize
.
来解决这个问题
这解决了文件大小问题(现在约为 2mb),但我仍然无法调用该函数。尝试调用它会在 CloudWatch 中产生以下日志:
Unable to import module 'lambda/index': Error
at Function.Module._resolveFilename (module.js:547:15)
at Function.Module._load (module.js:474:25)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
当时我的预期是我 serverless.yml
中函数的文件路径错误,或者导出不正确。
./serverless.yml
functions:
funcOne:
handler: lambda/index.handler
./lambda/index.js
exports.handler = function (event, context) {
// execution code
};
然而,情况似乎并非如此,我知道这一点,因为为 serverless-plugin-optimize
设置 debug: true
会留下包含我的缩小代码的 _optimize
文件夹。然而不知何故,尽管它在本地存在,似乎没有上传到 Lambda。
在 AWS 控制台中查看此内容,我得到以下信息:
Lambda 目录中列出的 2.6mb 上传:
Lambda 控制台代码编辑器出错
60mb 文件仍列在 S3 部署存储桶中
我无法解释为什么我会遇到这个问题,或者切换到 node8.10
会导致什么。 serverless.yml
文件 none 之外的代码已从工作 node6.10
版本更改。有没有人以前遇到过这个问题或知道任何可能解决它的方法?
我现在已经成功解决了这个问题。我不知道为什么会这样,但问题似乎在于使用旧版本的无服务器 (1.27.2) 部署到 node8.10。升级到最新版本的无服务器 (1.32.0) 立即修复了它。
我有一个使用无服务器部署的 lambda 函数。它是使用 node6.10
运行时部署的,因此我决定改为使用 node8.10
运行时重新部署该服务。
然而,在进行此重新部署之后,我遇到了一个奇怪的问题,即我无法调用该函数,并且由于文件太大 (60mb+),无法再向该函数部署更新。我能够通过卸载并重新安装 serverless-plugin-optimize
.
这解决了文件大小问题(现在约为 2mb),但我仍然无法调用该函数。尝试调用它会在 CloudWatch 中产生以下日志:
Unable to import module 'lambda/index': Error
at Function.Module._resolveFilename (module.js:547:15)
at Function.Module._load (module.js:474:25)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
当时我的预期是我 serverless.yml
中函数的文件路径错误,或者导出不正确。
./serverless.yml
functions:
funcOne:
handler: lambda/index.handler
./lambda/index.js
exports.handler = function (event, context) {
// execution code
};
然而,情况似乎并非如此,我知道这一点,因为为 serverless-plugin-optimize
设置 debug: true
会留下包含我的缩小代码的 _optimize
文件夹。然而不知何故,尽管它在本地存在,似乎没有上传到 Lambda。
在 AWS 控制台中查看此内容,我得到以下信息:
Lambda 目录中列出的 2.6mb 上传:
Lambda 控制台代码编辑器出错
60mb 文件仍列在 S3 部署存储桶中
我无法解释为什么我会遇到这个问题,或者切换到 node8.10
会导致什么。 serverless.yml
文件 none 之外的代码已从工作 node6.10
版本更改。有没有人以前遇到过这个问题或知道任何可能解决它的方法?
我现在已经成功解决了这个问题。我不知道为什么会这样,但问题似乎在于使用旧版本的无服务器 (1.27.2) 部署到 node8.10。升级到最新版本的无服务器 (1.32.0) 立即修复了它。