[英]timeout occurs when connecting to external mysql (not aws rds) from aws lambda
[英]Best practices when connecting to AWS RDS with Lambda + pymysql?
我正在嘗試使用 AWS 創建一個設置,用戶可以在其中訪問 API 端點 -> Lambda function 連接到 Aurora 無服務器數據庫。
本指南https://levelup.gitconnected.com/aws-lambda-with-rds-using-pymysql-23ad3cde46c8建議我把
conn = pymysql.connect(host=rds_host,user=name,passwd=password,db=db_name,...)
在 lambda function 的開頭。我擔心每個 API 請求都會創建一個新的數據庫連接,不確定是否可以? 我知道在本地執行操作的時候,有創建連接池這樣的東西。 是否有關於 AWS Lambda 上需要如何/何時需要的建議?
請查看下面的文章以揭秘 Lambda 功能以及如何處理請求執行
https://harishkm.in/2020/06/30/demystifying-database-connection-pools-in-aws-lambda-functions/
下面的鏈接還向您解釋了 AWS Aurora 如何處理連接
關於 pymysql,您可以使用 boto3 AWS SDK 庫而不是 pymysql,它為您提供更好的 AWS 服務集成,如 AWS Lambda、AWS IAM 和 AWS Secret Manager 作為最佳實踐
導入boto3
rds_client = boto3.client('rds-data')
查看下面的鏈接。
最后,如果您的 API 流量很高,請考慮使用可擴展的解決方案作為 AWS RDS 代理來幫助您大規模管理數據庫連接,查看下面的鏈接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.