如何在Python AWS Lambda中重新初始化mysql连接

时间:2018-11-22 16:36:51

标签: python mysql aws-lambda pymysql

我是.NET开发人员,是python和aws lambda的新手。

我有一个用python编写的lambda,它连接到mysql数据库。建议我将连接置于处理程序的范围之外,以便将其用作一种连接池,避免随着更多的lambda旋转而过度打开连接。此方法有效,但是如果该连接被终止(无论出于何种原因),则lambda将失败,因为它们不会检查连接是否已关闭并重新打开连接。我尝试围绕它编写一种单例包装器类,但是它没有用,而且我似乎无法在处理程序范围内为该变量重新分配值。有什么办法可以做我想要的吗?下面是我的lambda函数的基本概述(是的,我知道sql对该方法实际上无效)。


import pymysql

connection = pymysql.connect(MYSQL_ENDPOINT, user=MYSQL_USERNAME, passwd=MYSQL_PASSWORD, db=MYSQL_DBNAME, connect_timeout=5)

def lambda_handler(event, context):
  def do_stuff():
    with con.cursor() as cur:
      cur.execute("SELECT * FROM table;")
      con.commit()

0 个答案:

没有答案