具有外部依赖问题的无服务器框架部署

Serverless framework deployment with external dependencies problem

我有两个 lambda 函数:lambda_fn_1 和 lambda_fn_2 具有以下依赖项: 1. lambda_fn_1 有 "requests" 模块作为外部依赖 2. lambda_fn_2 有 "psycopg2" 模块作为外部依赖

我想使用无服务器框架将这些函数部署到 AWS Lambda。这是我的 serverless.yaml 模板文件:https://i.stack.imgur.com/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

"module" 描述了框架获取 requirements.txt 文件的位置,因此,它只会获取该特定文件夹中的文件。