我有一个zip文件,其中包含以下结构(这是归档的根,不是嵌套在顶级文件夹中,我知道它是错误的常见原因为AWS-S3-拉姆达部署):AWS Lambda包部署的函数require()的相对路径,找不到
- support/
- shared.js
- one.js
- two.js
,然后在one.js和two.js:
var shared = require("./support/shared");
// ...
当我在本地运行这段代码,它的工作原理。我使用aws-sdk将zip文件上传到AWS-S3,然后使用aws.lambda.createFunction()创建一个具有该名称和处理程序以及所有内容的函数。创建的函数会显示在我的Lambda仪表板中,但是当我测试它时,我会得到"Cannot find module './support/shared'"
。我也试过var shared = require("./support/shared.js");
,并给出"Cannot find module './support/shared.js'"
。
这是运行时间node6.10
。文件名大小写正确的区分大小写的lambda。
不应该这个工作?什么是窍门?
有没有一种方法可以验证Lambda正在处理的文件结构,以显示额外的./support/shared.js
文件实际上是将它加到了工作目录还是它使用的任何文件?