【发布时间】:2018-07-11 02:05:02
【问题描述】:
我正在尝试使用 AWS Lambda 连接到 AWS RDS。我将 PyMySQL 安装到该目录并使用下面的代码和库构建了包
import sys
import pymysql
def lambda_handler(event, context):
string=""
try:
connection = pymysql.connect(host='',
user='',
password='',
db='',
charset='',
cursorclass=pymysql.cursors.DictCursor)
cur = connection.cursor(pymysql.cursors.DictCursor)
cur.execute("select * from table")
for row in cur:
print(row['col'])
string+=row['col']
except Exception as e:
print("MySQL error: %s" % (e.args[0]))
return string
print(lambda_handler("",""))
在我的机器上,上面的代码有效,但在 AWS 中,它显示
MySQL 错误:模块 'pymysql' 没有属性 'connect'
我检查了pymysql只在有代码的目录中可用,所以我不知道为什么我无法使用connect方法。 两个 Python 版本都是一样的。
编辑:
Traceback (most recent call last):
File "/var/task/lambda.py", line 7, in lambda_handler
connection = pymysql.connect(host='',
AttributeError: module 'pymysql' has no attribute 'connect'
【问题讨论】:
-
请包含完整的回溯
-
@roganjosh 完成
-
:(我希望它可能对这个问题有更多的了解,但我没有从中得到任何东西
-
@roganjosh 是的,当你问我有一个“当然”的时刻,但也很失望......
-
你从
print(dir(pymysql))得到什么?我怀疑您在 PATH 上的某个位置命名了另一个脚本pymysql.py。你在dir中认出了你创造的东西吗?
标签: python python-3.x amazon-web-services aws-lambda pymysql