aws-lambda - 如何在 AWS Lambda 中抽象数据库连接?
问题描述
我正在 AWS 中构建一个应用程序,其中包含很多要编写的 Lambda 函数 - 所有这些函数都将通过运行以下代码创建一个要查询的数据库实例:
mydb = mysql.connector.connect(
host="endpoint.rds.amazonaws.com",
user="user",
passwd="password",
database="dbname"
)
现在,我不想在每个 Lambda 函数中显式包含此代码 - 我宁愿将它放在其他地方(在层中或单独的 Lambda 函数中),这样可以简单地通过类似的东西来完成这个:
mydb = ConnectToDB()
关于如何做到这一点的任何想法?
解决方案
解决了!我创建了一个名为 DBConnections.py 的 python 文件,其中包含以下函数 - 我将它包含在我的 AWS Lambda 层的部署包中。
def Connect():
mydb = mysql.connector.connect(
host="endpoint.amazonaws.com",
user="user",
passwd="password",
database="mydbname"
)
return mydb
部署后,我唯一要做的就是调用它:
from DBConnections import Connect
mydb = Connect()
瞧。
推荐阅读
- c# - 由于实体验证异常,无法更新数据库中的数据 - ASP.Net MVC
- android - 将 android 资产中的图像加载为位图并使用 glideV4 设置 ImaegView 时复制图像
- excel - application.match 返回什么?一个整数?
- go - Go 在外部声明变量与在循环内声明变量
- python - PIL图像调整大小改变像素值?
- swift - Firebase 查询以随机顺序检索数据。数据按 autoID 组织
- azure - 使用 terraform 为 Azure 应用程序网关添加重定向规则
- javascript - rails slim template: Uncaught SyntaxError: Unexpected token if
- python-3.x - 提取嵌入在某个类下的文本
- javascript - Javascript - 带有字符串模板的正则表达式后跟 4 位数字?