AWS Lambda和Cloud Front:运行应用程序时“无法导入模块'索引'”。原因是什么?

时间:2019-12-14 17:08:01

标签: amazon-web-services amazon-s3 aws-lambda cloud amazon-cloudfront

希望我能对当前正在处理的问题有所帮助。作为我在大学“云计算”课程中的一部分,我想构建此处描述的应用程序:https://aws.amazon.com/de/blogs/networking-and-content-delivery/resizing-images-with-amazon-cloudfront-lambdaedge-aws-cdn-blog/ 我已按照给出的说明进行操作,从而将CloudFront堆栈连接到AWS S3存储桶和两个AWS Lambda @ Edge函数。当我尝试按照发布的AWS博客结尾处所述检查应用程序时,遇到错误503和执行日志,告诉我以下内容:

Unable to import module '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)

当AWS尝试执行查看器请求功能时,将发生错误。因此,我的Lambda @ Edge函数的配置肯定出了点问题。我已经在各种论坛和博客条目中进行了研究以解决此问题。一个非常有前途的解决方案是,作者用来创建Lambda函数的.zip文件提供了不足的读取访问权限,因此AWS无法找到模块“索引”,但是我的.zip-似乎一切正常文件。我还确保压缩的是文件而不是项目的根文件夹。我让Docker在osX上运行。我发现可以解决此问题的另一个想法是,我的Lambda的处理程序功能可能会混乱。这可能是可能的,尽管我无法想象这是怎么发生的,也无法检查自己是否正在寻找这种方式。 This is my folder structure shown in AWS Lambda managament console

目前,我不知道我能提供的信息,但我希望有人能给我一些有关如何解决当前正在处理的问题的提示。

非常感谢!

PS:我知道有一个AWS开发人员论坛,但是由于我的学生的帐户已预先配置,因此我无法在其中打开新线程。

0 个答案:

没有答案