簡體   English   中英

使用 Lambda + pymysql 連接到 AWS RDS 時的最佳實踐?

[英]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 如何處理連接

https://docs.aws.amazon.com/whitepapers/latest/amazon-aurora-mysql-db-admin-handbook/connection-management-and-pooling.html

https://docs.aws.amazon.com/whitepapers/latest/amazon-aurora-mysql-db-admin-handbook/connection-handling-in-aurora-mysql-and-mysql.html

關於 pymysql,您可以使用 boto3 AWS SDK 庫而不是 pymysql,它為您提供更好的 AWS 服務集成,如 AWS Lambda、AWS IAM 和 AWS Secret Manager 作為最佳實踐

導入boto3

rds_client = boto3.client('rds-data')

查看下面的鏈接。

https://aws.amazon.com/blogs/database/using-the-data-api-to-interact-with-an-amazon-aurora-serverless-mysql-database/

最后,如果您的 API 流量很高,請考慮使用可擴展的解決方案作為 AWS RDS 代理來幫助您大規模管理數據庫連接,查看下面的鏈接。

https://aws.amazon.com/blogs/database/scale-modern-serverless-applications-with-amazon-rds-proxy-for-sql-server/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM