我已遵循文档中的所有步骤: https://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html
创建一个目录。
将所有 Python 源文件(.py 文件)保存在此目录的根级别。
使用 pip 在目录的根级别安装任何库。
压缩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'的
对此有什么帮助吗?
我在 aws lambda 上的代码:
\n\nimport 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()\nRun Code Online (Sandbox Code Playgroud)\n\n我相信我已经使用 boto3.client 连接到 RDS 实例,因为实例的信息输出到屏幕。
\n\n但对于 psycopg2 来说这是不行的。
\n而不是 logger.error 我收到了超时错误消息:
Task timed out after 60.06 seconds\nRun Code Online (Sandbox Code Playgroud)\n\n另外:\n我可以使用本地 psql 控制台或本地服务器中的 python 脚本连接到 RDS。仅当我在线使用 aws-lambda 测试脚本时,它才\xc2\xb4t 工作
\n\n关于这个有什么帮助吗?\n谢谢!
\n我已经阅读了问题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/
按照建议
但它没有帮助
我的情况:
只返回列,不返回记录。扫描的数据:0 KB
有谁知道为什么胶水爬虫不能转换数据?
谢谢!