简化我的程序,我有一个MySQL RDS数据库,我想开发一个Lambda函数来获取特定列中插入的最后一个值。
我在Lambda函数中编写了以下代码,基于此AWS教程:
我在Lambda函数中编写了以下代码,基于此AWS教程:
# Connexion to DB outside the handler, per AWS recomendation
def lambda_handler(event, context):
with conn.cursor() as cur:
cur.execute("SELECT column FROM DB.table ORDER BY create_time DESC LIMIT 1;")
row = cur.fetchone()
return row[0]
我正在使用pymysql
。
基本上,在第一次调用时(例如保存Lambda函数后),它按预期工作,并返回表中的最后一个值。
然而,在短时间内的任何其他调用(几分钟内),它都会继续返回相同的值,而不考虑任何数据库更改。
保存或等待几分钟会导致正确的结果。 可能我不经意地缓存了结果吗?
conn.autocommit(True)
解决了它。 - undefined