python - 如何在 sam 本地环境中使用依赖项?
问题描述
我可以使用 sam local start-api 在本地运行 lambda 函数。这对我来说很好。现在我想使用 pandas 等库,但它给了我错误:
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 应用程序sam init
,则项目中应该有一个requirements.txt
文件。放入后就pandas
可以运行了
sam build
# or sam build --use-container
sam local....
将sam build
处理依赖项的安装。
更新
由于您更新了问题描述,您的问题似乎是如何requirements.txt
在两个函数之间共享。
假设您的原始函数处理程序是abc.handler
和pqr.handler
您可以像这样制作模板:
FuncA:
Properties:
CodeUri: .
Handler: organisation_manag.abc.handler
FuncB:
Properties:
CodeUri: .
Handler: organisation_manag.pqr.handler
推荐阅读
- linux - 从 Airflow 作业执行 SparkSubmitOperator 时出错
- sql - 删除不可用的索引会更好吗?
- animation - SVG 组件在动画之前稍微平移
- mysql - 如何优化mysql等连接查询的速度?
- regex - 特定语法的正则表达式
- reactjs - 用于固定颜色值的 Highchart Treemap colorindex
- jquery - Show div based on multiple radio buttons
- rest - REST 标识符的有效字符
- angular - Angular 模块摇树
- mongodb - 使用聚合查询 MongoDB 中的大数据