AWS Lambda会尽可能地重用连接,以避免每次执行函数时都建立一个新连接。当函数被调用时,AWS Lambda会检查连接池,看看是否有可用的连接。如果没有可用的连接,它将创建一个新连接并将其添加到池中。使用连接后,AWS Lambda会将其返回到池中以供将来使用。通过这种方式,AWS Lambda可以更快地处理函数调用并降低网络延迟。
下面是一个AWS Lambda函数示例代码,展示如何在函数执行期间重用连接:
import pymysql
conn = pymysql.connect( host="myserverlessdatabase.cluster-csdu7k.com", user="myusername", password="mypassword", database="mydatabase" )
def lambda_handler(event, context): cursor = conn.cursor()
# Queries are executed using the same connection
cursor.execute("SELECT * FROM mytable")
result = cursor.fetchall()
cursor.execute("UPDATE mytable SET column1='value1' WHERE column2='value2'")
conn.commit()
cursor.close()
return result
在这个示例中,我们创建了一个MySQL连接并在Lambda函数外部定义。在Lambda函数内部,我们创建了游标对象。游标对象是一个与连接相关联的对象,它被用于执行查询并从数据库检索结果。在我们的函数中,我们使用相同的连接来执行查询和更新操作,并在操作完成后关闭游标对象。这样,在函数执行期间,我们只使用一个连接来处理多个操作,从而减少了连接建立和拆除的开销。