【发布时间】:2021-11-15 23:35:53
【问题描述】:
我正在开发一个 AWS SAM 无服务器项目,使用 Node.js 编写的 Lambda 函数。
Lambda 执行环境已经提供了 AWS SDK,不需要将这个依赖推送到部署中。
当aws-sdk 作为另一个包的嵌套依赖项出现时,问题就出现了。
例如,我需要aws-appsync,它又依赖于aws-sdk。
因此,部署规模太大。整个 aws-appsync 包及其依赖项重约 140mb,其中一个值得注意的部分是 AWS 开发工具包。在这种情况下,超过了最大部署大小,部署过程将失败。
我可以让 npm 安装一个包含所有依赖项的包,除了一个特定的依赖项吗?在这种情况下,我会从依赖项中排除 aws-sdk。
【问题讨论】:
-
您是说解压后的部署总大小超过 250MB?
-
你是如何打包 Lambda 的?
-
无服务器框架有插件可以解决这个问题。不确定是否有 SAM 的等效项。
-
由于一些奇怪的情况,完全清理和依赖重新获取缩小了总包大小。对于这个项目,没有打包过程。
标签: amazon-web-services npm aws-lambda aws-sam