More  

收藏本站

電腦請使用 Ctrl + D 加入最愛
手機請使用 收藏
關閉

小編的世界 優質文選 資料

使用NodeJS Lambda函數查詢RDS MySQL數據庫


字體大小:
2020年12月15日 -
:     
 

離開了編程我會死

科技達人,優質創作者

第一次嘗試:使用內聯代碼編輯器

自從我使用NodeJS以來,第一件事就是找出一個好的MySQL節點包。幸運的是,我找到了這個MySQL庫,並且它也有不錯的文檔,編寫代碼很簡單。

由於能夠快速完成代碼,因此我跳入Lambda控制台內聯代碼編輯器,複制並粘貼了代碼,並對其進行了測試。但是,出錯了。我得到的錯誤如下:

我發現AWS本身不支持我們使用的MySQL模塊,因此我們需要提供捆綁的ZIP文件作為lambda函數。

第二次嘗試:使用捆綁的節點項目

我們可以簡單地使用 node init命令(假設已安裝NodeJS並准備就緒)來創建一個package.json文件初始化節點項目。這裏的重要一件事是,AWS Lambda要求節點項目名稱必須與lambda名稱相同。

我們需要MySQL軟件包,運行以下命令。

以下是package.json,

然後,我們需要創建一個 index.js文件,並使用與上面相同的代碼。最後,我們需要創建一個ZIP文件(可以使用命令zip -r query-db.zip)並將其作為lambda函數上傳。請注意,ZIP文件中不應有內部目錄。如果列出ZIP文件(unzip -l query-db.zip)的內容,則應如下所示。

此時又出現了一個連接超時問題,並顯示以下錯誤。

檢查Lambda的權限

檢查您的RDS實例的安全組

檢查您的Lambda函數是否使用VPC

檢查您的代碼是否正確關閉了連接