“ errorType”:uuid模块的“ Runtime.ImportModuleError”

问题描述

我一直在尝试使用Angular使用Polly,s3和lambda构建应用程序。 在测试lambda函数时,出现错误,说明了这一点:

{
  "errorType": "Runtime.ImportModuleError","errorMessage": "Error: Cannot find module 'uuid/v1'\nRequire stack:\n- /var/task/handler.js\n- /var/runtime/UserFunction.js\n- /var/runtime/index.js","trace": [
    "Runtime.ImportModuleError: Error: Cannot find module 'uuid/v1'","Require stack:","- /var/task/handler.js","- /var/runtime/UserFunction.js","- /var/runtime/index.js","    at _loadUserApp (/var/runtime/UserFunction.js:100:13)","    at Object.module.exports.load (/var/runtime/UserFunction.js:140:17)","    at Object.<anonymous> (/var/runtime/index.js:43:30)","    at Module._compile (internal/modules/cjs/loader.js:1137:30)","    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)","    at Module.load (internal/modules/cjs/loader.js:985:32)","    at Function.Module._load (internal/modules/cjs/loader.js:878:14)","    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)","    at internal/main/run_main_module.js:17:47"
  ]
}

解决方法

您需要创建一个包含您的功能代码和依赖项的ZIP存档。如果您使用Lambda API管理功能,或者需要包含AWS开发工具包以外的库和依赖项,则需要创建部署程序包。

如果您的功能依赖于JavaScript SDK以外的库,请使用NPM将它们安装到本地目录,并将其包含在部署包中。如果您需要比运行时中包含的版本更高的版本,或者为了确保将来不会更改版本,还可以包括JavaScript SDK。如果部署程序包大于50 MB,则必须使用Amazon S3。

Running Arbitrary Executables in AWS Lambda
Using Packages and Native nodejs Modules in AWS Lambda