python - 将 Python 模块导入 AWS Lambda

标签 python postgresql amazon-web-services aws-lambda

我已按照文档中的所有步骤进行操作: https://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html

  1. 创建一个目录。

  2. 将所有 Python 源文件(.py 文件)保存在此目录的根级别。

  3. 在目录的根级别使用 pip 安装所有库。

  4. 将project-dir目录的内容压缩)

但是在我将 zip 文件上传到 lambda 函数后,我在测试脚本时收到了错误消息

我的代码:

    import psycopg2
    #my code...

错误:

    Unable to import module 'myfilemane': No module named 'psycopg2._psycopg'

我不知道后缀'_psycopg'来自...

对此有任何帮助吗?

最佳答案

您正在使用带有 lambda 的原生库。我们遇到了类似的问题,下面是我们如何解决它的。

使用 AWS 支持的 AMI 运行您真正的 lambda 的机器。

https://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html

在撰写本文时,它是,

AMI name: amzn-ami-hvm-2017.03.1.20170812-x86_64-gp2

安装 native 模块的完整文档您的 python lambda。

https://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html

安装 lambda 所需的模块,

pip install module-name -t /path/to/project-dir

并准备您的包以在 lambda ami 环境下与 native 模块一起上传。

希望这对您有所帮助。

关于python - 将 Python 模块导入 AWS Lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52408698/

相关文章:

java - 在 JOOQ 中,如果我直接使用底层连接,我的事务状态是否保持?

java - Android DynamoDBMappingException : Expected S in value

python - 零填充numpy数组

python - 一个简单的问题,关于txt的缩进问题

bash - 如何在 ENTRYPOINT 等待 postgres 启动?

Postgresql - 基本数组和 array_agg

javascript - AWS Lambda 如何读取查询参数

amazon-web-services - 如何避免 S3 和 EC2 之间跨账户的数据传输成本?

python - 如何让 `conda env list` 隐藏环境而不删除它?

python - flask css没有更新