我有两个 lambda 函数:lambda_fn_1 和 lambda_fn_2,具有以下依赖项: 1. lambda_fn_1 有“requests”模块作为外部依赖 2. lambda_fn_2 有“psycopg2”模块作为外部依赖
我想使用无服务器框架将这些函数部署到 AWS Lambda。这是我的 serverless.yaml 模板文件:/image/HrMOV.png
我创建了一个具有这两个依赖项的requirements.txt 文件。现在我希望仅使用“requests”依赖模块部署 lambda_fn_1,仅使用“psycopg2”依赖模块部署 lambda_fn_2。应对无服务器模板文件进行哪些更改?
最佳答案
而不是使用具有两个依赖项的单个requirement.txt 文件,如下所示:
- requirements.txt:
- requests
- psycopg2
有两个单独的requirement.txt 文件,每个文件对应一个仅具有该lambda 函数所需依赖项的lambda 函数。这将是新的文件夹结构:
- lambda_fn_1:
- requirements.txt (requests)
- handler.py
- lambda_fn_2:
- requirements.txt (psycopg2)
- handler.py
这将在无服务器模板中进行修改:
- lambda_fn_1:
handler: handler.lambda_handler
module: lambda_fn_1
- lambda_fn_2:
handler: handler.lambda_handler
module: lambda_fn_2
“模块”描述了框架获取requirements.txt文件的位置,因此,它只会获取该特定文件夹中的文件。
关于amazon-web-services - 无服务器框架部署存在外部依赖问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54534570/