Par*_*eog 1 python lambda amazon-web-services
当我上传 zip 文件时,AWS 成功创建了 lambda 函数。但是当我测试时它给出了这个错误。
{
"errorMessage": "Unable to import module 'amazonSNS'"
}
Run Code Online (Sandbox Code Playgroud)
以下是我创建的 zip 文件的内容。我尝试将 zip 文件的名称更改为“amazonSNS”以匹配该amazonSNS.py文件,但没有帮助,同样的问题。
Lambda 函数配置中的 Lambda 处理程序设置为“amazonSNS.handler”,其中 amazonSNS 是文件名,handler 是需要调用的函数名,如文档中所述。
下面是python文件的内容
import boto3
import MySQLdb
client = boto3.client("sns")
rds = boto3.client("rds")
def handler(event, context):
conn = MySQLdb.connect("host", "username", "password", "database")
cur = conn.cursor(MySQLdb.cursors.DictCursor)
query = "select * from login.login limit 10"
cur.execute(query)
print cur.fetchall()
print conn
Run Code Online (Sandbox Code Playgroud)
这里可能有什么问题?
这是日志输出
START RequestId:76a61551-052a-11e6-b466-8fa0769ac309 版本:$LATEST 无法导入模块“amazonSNS”:没有名为 _mysql 的模块
END RequestId:76a61551-052a-11e6-b466-8fa0769ac309 REPORT RequestId:76a61551-052a-11e6-b466-8fa0769ac309 持续时间:0.33 ms0 计费持续时间:1
更新
我从“site-package”文件夹中添加了一些我认为是 MySQLdb 包的一部分的文件,这是 zip 文件的当前内容。
在此之后,错误的新日志是。
START RequestId:c0715d9a-0531-11e6-9409-a3b194fd4afd 版本:$LATEST 无法导入模块“amazonSNS”:libmysqlclient.so.18:无法打开共享对象文件:没有这样的文件或目录
END RequestId:c0715d9a-0531-11e6-9409-a3b194fd4afd REPORT RequestId:c0715d9a-0531-11e6-9409-a3b194fd4afd 持续时间:0.35 ms 已用内存01 毫秒最大大小:01 MB22 1
解决这个问题:我搜索了libmysqlclient.so.20(最后的版本号可能不同)
find /. -name "libmysqlclient.so.20"
Run Code Online (Sandbox Code Playgroud)
我的输出是
/./usr/lib/x86_64-linux-gnu/libmysqlclient.so.20
Run Code Online (Sandbox Code Playgroud)
然后我将该文件复制到我的包的根目录中
cp /usr/lib/x86_64-linux-gnu/libmysqlclient.so.20 <your package path>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2459 次 |
| 最近记录: |