我有一个简单的 lambda 函数,它打印一个事件,然后尝试将一行插入数据库。它运行时没有错误,但不执行所有代码。event被打印,但该行永远不会被插入到表中。任何事情,甚至是我放在后面的打印语句都connection不会被执行。我猜测连接有问题,但据我所知,我无法判断问题出在哪里。某处还有更多日志吗?在 CloudWatch 中,我看到最后显示“任务在 3.00 秒后超时”import boto3import psycopg2s3 = boto3.client('s3')def insert_data(event=None, context=None): print(event) connection = psycopg2.connect(user="xxxx", password="xxxx", host="xxxx", port="xx", database="xxxx") cursor = connection.cursor() postgres_insert_query = "INSERT INTO dronedata (name,lat,long,other) VALUES ('img2','54','43','from lambda')" cursor.execute(postgres_insert_query) connection.commit() count = cursor.rowcount print(count, "Record inserted successfully into mobile table")
2 回答
慕盖茨4494581
TA贡献1850条经验 获得超11个赞
典型的安全设置是:
AWS Lambda 函数 (
Lambda-SG
) 上的安全组允许所有出站访问(无需入站规则)数据库(EC2 实例或 Amazon RDS)上的安全组 (
DB-SG
),允许在适当端口上进行入站访问Lambda-SG
也就是说,DB-SG
应该在其入站规则中具体引用Lambda-SG
。
添加回答
举报
0/150
提交
取消