我想将我的aws iot mqtt消息存储到我的postgresql中。为此,我已将本地posrtgresql连接到amazon RDS实例。现在,我需要在amazon lambda calculus之间创建一个连接,然后将数据发送到postgresql数据库。但无论何时,我正在测试我的lambda演算,它给了我" name' conn'未定义:NameError"错误。这是我在aws lambda中的python代码。我还将psycopg2库包含在我的项目中。
Option Explicit
Dim gReg_Userform As Reg_Userform
Sub conRegBox(control As IRibbonControl)
If Not gReg_Userform Is Nothing Then
On Error Resume Next
If gReg_Userform.ActiveWkbk.FullName <> ActiveWorkbook.FullName Then
Unload gReg_Userform
Set gReg_Userform = Nothing
End If
End If
If gReg_Userform Is Nothing Then
Set gReg_Userform = New Reg_Userform
End If
With gReg_Userform
Set .ActiveWkbk = ActiveWorkbook
.Show
End With
End Sub
答案 0 :(得分:1)
您正在隐藏真实的错误消息。 Python的异常处理模式类似于this:
try:
conn = psycopg2.connect(host=rds_host,
user=name,
password=password,
database=db_name)
except Exception as e:
print(e)
这样您就会看到真正的错误消息:
无效的dsn:无效的连接选项“passwd”
编辑#1:
“超时”表示由于RDS实例的“安全组规则”,lambda无法连接。请记住,即使公共RDS实例默认也有IP入站限制(即,它可以从PC连接,但从AWS Lambda连接是不可能的。)