问题描述
所以我使用 AWS SAM 来构建和部署一些函数到 AWS Lambda。 由于我的连接速度慢,上传功能很慢,所以我决定创建一个包含需求的层。所以下次当我尝试部署函数时,我不必上传所有 50 mb 的需求,我可以使用已经上传的层。
有可能吗?
解决方法
我希望我能正确理解您的问题,但如果您想部署一个没有任何依赖项的 lambda,您可以尝试两件事:
- 在运行
sam build
之前不运行sam deploy
- 有一个空的 requirements.txt 文件。那么
sam build
根本不包含该 lambda 函数的任何依赖项。
当然,这里我假设该层已经存在于 AWS 中,并且未包含在同一模板中。如果它们是在同一个模板中定义的,则必须将它们分成两个堆栈。一种是可以部署一次的层,另一种是 lambda 引用该层。
不幸的是,据我所知,sam build
没有忽略requirements.txt 的标志,因为该命令的核心目的是构建依赖项。