python - "errorMessage": "无法导入模块 'UpdateHost_Python'"
问题描述
我正在尝试在内联 AWS Lambda 函数的代码中运行 python 代码。
我没有压缩任何文件,只是将以下代码粘贴到 Lambda 函数中。
我收到了这个错误:
errorMessage": "无法导入模块 'UpdateHost_Python'
import psycopg2
def lambda_handler(event,context):
conn_string = "dbname='myfirstdb' port='5432' user='db28' password='@@@@@@' host='@@@@@.ck0zbnniqteb.us-east-2.rds.amazonaws.com'"
conn = psycopg2.connect(conn_string)
cursor = conn.cursor()
cursor.execute("select * from unnmesh")
conn.commit()
cursor.close()
print("working")
解决方案
对于非标准 Python 库(如psycopg2
),您需要创建一个部署包。
这涉及使用库创建一个 Zip 文件,然后将 Zip 文件上传到 Lambda。
请参阅:Python 中的 AWS Lambda 部署包 - AWS Lambda
有关完整示例,另请参阅:教程:将 AWS Lambda 与 Amazon S3 结合使用 - AWS Lambda(我知道您没有使用 Amazon S3,但该教程提供了一个构建具有依赖项的包的示例。)
推荐阅读
- c - 如何评估C中的输入数据?
- rust - 如何在 Cargo 配置中为构建和测试指定不同的默认目标?
- c# - ExpressionVisitor 不访问派生类的重写属性
- apache-zookeeper - 如何找出zookeeper server和curator之间的时差?
- python-2.7 - Python - 根据文件名将其他excel文件中的特定列复制到新的列
- python - Pymongo - 使用 insert_one 函数时检查文档是否正确插入
- http - 带有自定义网络层的 HTTP 包
- r - 为什么我在 Windows 资源管理器中重命名文件后 r 代码更改为无法运行?
- c# - bash:./word:cygwin64 中没有这样的文件或目录
- swift - 无法播放声音文件Swift4