gpt4 book ai didi

postgresql - AWS Lambda 函数找不到包 - Psycopg2

转载 作者:行者123 更新时间:2023-11-29 12:16:38 25 4
gpt4 key购买 nike

这是我的问题:

START RequestId: 3ef6bbb9-62da-11e8-82ba-81e0afb0b224 Version: $LATEST
Unable to import module 'lambda_insertEmailAddress': No module named psycopg2

END RequestId: 3ef6bbb9-62da-11e8-82ba-81e0afb0b224
REPORT RequestId: 3ef6bbb9-62da-11e8-82ba-81e0afb0b224 Duration: 0.44 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 19 MB

我的 zip 文件具有以下结构文件名:lambdaInsertEmail.zip:

 total 98784
drwxrwxrwx 20 chauncey staff 680B May 27 13:22 psycopg2
drwxrwxrwx 22 chauncey staff 748B May 27 12:55 postgresql-9.4.3
-rwxrwxrwx 1 chauncey staff 1.8K Apr 30 15:41 lambda_insertEmailAddress.py
-rw-r--r-- 1 chauncey staff 48M May 30 12:09 lambdaInsertEmail.zip

如果您想知道我的 setup.cfg 文件有以下更改:

pg_config=/Users/chauncey/Desktop/portfolio/aws_lambda_files/lambda_insertEmailAddress/postgresql-9.4.3/src/bin/pg_config/pg_config

static_libpq=1

我正在尝试让这个 lambda 函数正常工作。

最佳答案

问题 的起因是 psycopg2 需要使用适用于 Linux 的静态链接库构建和编译。请引用Using psycopg2 with Lambda to Update Redshift (Python)有关此问题的更多详细信息。另一个reference在 OSX 上编译 psycopg2 的问题。

一个解决方案 是使用 Amazon Linux AMI 编译库。使用 SSH 连接到 AMI 后:

  1. 使用 aws configure 设置 aws 凭证
  2. sudo su -
  3. pip install psycopg2 -t/path/to/project-dir
  4. 压缩目录zip project-dir.zip project-dir
  5. Upload to Lambda using CLI

希望这可以帮助您了解问题和可能的解决方案。上述引用资料中还有其他解决方案,例如使用 boto3 或此 repo https://github.com/jkehler/awslambda-psycopg2 ,但这是对我有用的解决方案。

关于postgresql - AWS Lambda 函数找不到包 - Psycopg2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50609331/

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