【发布时间】:2018-12-12 18:24:08
【问题描述】:
我正在为我的 android 应用后端编写 AWS Lambda 函数。我在 AWS 上的 python 中有多个 Lambda 函数,它们需要相同的库。例如,我需要访问数据库,所以我在所有 lambda 函数中都使用了 pymysql 库。但我不确定我是否做得对。
我是否必须将这些库包含在我部署的每个函数包中,或者是否有更好的方法可以引用我在前一个函数中使用的库?
我关注Tutorial: Accessing Amazon RDS in an Amazon VPC。我有 2 个功能。我将每个函数及其依赖项分别上传到一个 zip 文件中。 Zip 包含代码和库。库占用了大部分空间,使 zip 尺寸变大。现在第二个函数也需要相同的库,所以再次使用相同的库制作 zip 感觉不对。
文档中提到的一些链接也很有帮助。我在文档中的任何地方都没有找到它。
【问题讨论】:
-
您必须将库包含在您部署的每个 Lambda 函数中。没有在函数之间共享它们的机制。
-
@MarkB 不会让我的函数变得笨重吗?我的库大约需要 5mb,我有大约 20 个函数使用同一个库
-
或者有什么方法可以将多个功能组合在一个 zip 中并上传
-
它不会“简单地让你的函数变得庞大”。这也使他们独立。每个函数都必须在与其他函数完全分离的容器中运行,因此每个函数都必须包含所有依赖项。
标签: python amazon-web-services aws-lambda