您好我有與this post相同的問題,但沒有提供發佈的答案(沒有示例代碼),所以我會開始一個新的線程,並問你們。AWS Lambda - 無法連接到SQL Server RDS
我創建了一個AWS無服務器應用程序(.NET核心)項目爲我們的lambda函數和下面的代碼是我用來在AWS RDS連接。
string ConnectionString = "Data Source=rds4abc1190.asdfqwerqb9l.us-east-1.rds.amazonaws.com,2855;Initial Catalog=MyDatabase;Persist Security Info=True;User ID=myID;Password=mypassword;Encrypt=False";
using (var Conn = new SqlConnection(ConnectionString))
{
using (var Cmd = new SqlCommand("SELECT * from Customer", Conn))
{
Conn.Open(); //<-- this is where the error fires.
SqlDataReader rdr = Cmd.ExecuteReader();
while (rdr.Read())
{
myDbItems.Add(rdr[1].ToString());
}
Conn.Close();
}
}
使用上面的代碼在本地機器上運行時,工作正常,但如果部署在AWS API網關,該代碼就會出錯。
「ERRORTYPE」:「SQLEXCEPTION」,「的errorMessage」:「連接超時過期時後登錄階段超時時間已過的連接可能超時的同時等待服務器完成登錄過程和響應;或者嘗試創建多個活動連接時可能超時;試圖連接到此服務器的時間是[預登錄]初始化= 781;握手= 1957; [登錄]初始化= 40;身份驗證= 122;後登錄]完整= 12219;」
您的lambda是否駐留在與有權訪問SQLServer RDS子網的SQLServer在同一個VPC中的VPC子網內部? – Ashan