gpt4 book ai didi

python - 将 Python 包部署到 AWS Lambda 时出错

转载 作者:太空宇宙 更新时间:2023-11-04 08:49:41 26 4
gpt4 key购买 nike

当我上传 zip 文件时,AWS 成功创建了 lambda 函数。但是当我测试它时它给出了这个错误。

{
"errorMessage": "Unable to import module 'amazonSNS'"
}

以下是我创建的 zip 文件的内容。我尝试将 zip 文件的名称更改为“amazonSNS”以匹配 amazonSNS.py 文件,但没有帮助,同样的问题。

enter image description here

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

这可能是什么问题?

这是日志输出

START RequestId: 76a61551-052a-11e6-b466-8fa0769ac309 Version: $LATEST Unable to import module 'amazonSNS': No module named _mysql

END RequestId: 76a61551-052a-11e6-b466-8fa0769ac309 REPORT RequestId: 76a61551-052a-11e6-b466-8fa0769ac309 Duration: 0.33 ms Billed Duration: 100 ms

更新

我从“site-package”文件夹中添加了一些文件,我认为它们是 MySQLdb 包的一部分,这是 zip 文件的当前内容。

enter image description here

然后是新的错误日志。

START RequestId: c0715d9a-0531-11e6-9409-a3b194fd4afd Version: $LATEST Unable to import module 'amazonSNS': libmysqlclient.so.18: cannot open shared object file: No such file or directory

END RequestId: c0715d9a-0531-11e6-9409-a3b194fd4afd REPORT RequestId: c0715d9a-0531-11e6-9409-a3b194fd4afd Duration: 0.35 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 22 MB

最佳答案

解决这个问题:我搜索了libmysqlclient.so.20(最后的版本号可能不同)

find /. -name "libmysqlclient.so.20"

我的输出是

/./usr/lib/x86_64-linux-gnu/libmysqlclient.so.20

然后我将该文件复制到包的根目录中

cp /usr/lib/x86_64-linux-gnu/libmysqlclient.so.20 <your package path>

关于python - 将 Python 包部署到 AWS Lambda 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36686376/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com