如何在sam本地环境中使用依赖?

How to use dependencies in sam local environment?

我可以使用 sam local start-api 在本地 运行 lambda 函数。这对我来说很好用。现在我想使用 pandas etc.but 这样的库,它给我错误:

Invalid lambda response received: Invalid API Gateway Response Keys: {'errorMessage', 'stackTrace', 'errorType'} in {'errorMessage': 
"Unable to import module 'read_pharma': No module named 'pandas'", 'errorType': 'Runtime.ImportModuleError', 'stackTrace': []}       

下面是我的代码:

import boto3, json
import pandas as pd

def lambda_handler(event, context):
    return{
          'statusCode': 200, 
          'message': 'Hello World'
}

我已经尝试创建虚拟环境,但没有成功。我如何在这里使用依赖项?

这是我的目录:

Backend-Directory
    organisation_manag
        abc.py
        xyz.py
    user_manag
        pqr.py
        ust.py
    requirements.txt
    template.yaml

如果您使用 sam init 创建了 sam 应用程序,项目中应该有一个 requirements.txt 文件。一旦你把 pandas 放进去,你就可以 运行

sam build
# or sam build --use-container

sam local....

sam build 将处理依赖项的安装。

更新

自从您更新了问题描述后,您的问题似乎是如何在两个函数之间共享 requirements.txt

假设您的原始函数处理程序是 abc.handlerpqr.handler

你可以这样制作你的模板:

FuncA:
  Properties:
    CodeUri: .
    Handler: organisation_manag.abc.handler

FuncB:
  Properties:
    CodeUri: .
    Handler: organisation_manag.pqr.handler