小编wen*_*ear的帖子

将 Python 模块导入 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...
Run Code Online (Sandbox Code Playgroud)

错误:

    Unable to import module 'myfilemane': No module named 'psycopg2._psycopg'
Run Code Online (Sandbox Code Playgroud)

不知道这个后缀是哪里来'_psycopg'

对此有什么帮助吗?

python postgresql amazon-web-services aws-lambda

5
推荐指数
2
解决办法
3万
查看次数

通过 lambda 使用 psycopg2 连接到 amazon rds

我在 aws lambda 上的代码:

\n\n
import sys, boto3, logging, rds_config, psycopg2\n\nrds_host = "hostname"\nname = rds_config.db_username\npassword = rds_config.db_password\ndb_name = rds_config.db_name\n\ns3 = boto3.resource(\'s3\')\nrds_client = boto3.client(\'rds\',aws_access_key_id=Access_Key,aws_secret_access_key=Secret_Access_Key)\ninstances = rds_client.describe_db_instances()\nprint (instances)\n\ntry:\n    conn = psycopg2.connect(host=rds_host,\n                        database=db_name,\n                        user=name,\n                        password=password)\n    cur = conn.cursor()\n\nexcept:\n    logger.error("ERROR: Unexpected error: Could not connect to Postgresql instance.")\n    sys.exit()\n
Run Code Online (Sandbox Code Playgroud)\n\n

我相信我已经使用 boto3.client 连接到 RDS 实例,因为实例的信息输出到屏幕。

\n\n

但对于 psycopg2 来说这是不行的。
\n而不是 logger.error 我收到了超时错误消息:

\n\n
Task timed out after 60.06 seconds\n
Run Code Online (Sandbox Code Playgroud)\n\n

另外:\n我可以使用本地 psql 控制台或本地服务器中的 python 脚本连接到 RDS。仅当我在线使用 aws-lambda 测试脚本时,它才\xc2\xb4t 工作

\n\n

关于这个有什么帮助吗?\n谢谢!

\n

python psycopg2 amazon-web-services amazon-rds aws-lambda

4
推荐指数
1
解决办法
6238
查看次数

AWS Athena 从 S3 的 GLUE Crawler 输入 csv 创建的表中返回零记录

我已经阅读了问题AWS Athena Returning Zero Records from Tables Created from GLUE Crawler input csv from S3下的答案

和问题https://aws.amazon.com/de/premiumsupport/knowledge-center/athena-empty-results/

按照建议

  1. 我已经将 S3 中的文件夹路径而不是文件名提供给了 Glue 爬虫。
  2. 我已经删除并重新创建了爬虫

但它没有帮助

我的情况:

来自 s3 存储中 csv 的示例数据: 在此处输入图片说明

云看日志显示胶表创建成功:在此处输入图片说明

架构结构如下所示:在此处输入图片说明

Sizekey 333 匹配 csv 数据大小:数据大小:333 字节

但是当我运行 Athena 查询时,我得到了结果:扫描的数据 0 KB

只返回列,不返回记录。扫描的数据:0 KB

有谁知道为什么胶水爬虫不能转换数据?

谢谢!

amazon-s3 amazon-web-services amazon-athena aws-glue

2
推荐指数
1
解决办法
1477
查看次数