在AWS Lambda函数中,由于Lambda函数是事件驱动的,函数执行完毕后会自动关闭连接。如果需要提前关闭连接,可以使用以下方法:
const mysql = require('mysql');
exports.handler = (event, context, callback) => {
const connection = mysql.createConnection({
host: 'hostname',
user: 'username',
password: 'password',
database: 'database'
});
// 执行异步操作
connection.query('SELECT * FROM table', (error, results, fields) => {
// 处理结果
// 关闭连接
connection.end();
// 调用回调函数
callback(error, results);
});
};
import pymysql
def lambda_handler(event, context):
connection = pymysql.connect(
host='hostname',
user='username',
password='password',
database='database'
)
try:
# 执行异步操作
with connection.cursor() as cursor:
cursor.execute('SELECT * FROM table')
results = cursor.fetchall()
# 关闭连接
connection.close()
# 返回结果
return results
except:
# 处理异常
connection.close()
raise
在以上示例中,使用了with
语句来确保在操作完成后自动关闭连接。如果发生异常,也会在关闭连接前先处理异常。
通过以上方法,可以在Lambda函数中强制关闭连接。