python - AWS Lambda 函数返回相同的值,除非重新部署
问题描述
我有一个连接到 mysql rds 的简单 AWS Lambda 函数。当我在我的应用程序 UI 中更新一个字段时,它会在从 MySQL 工作台查看时在数据库中更新它,但是当使用 Lambda 函数时,它会返回相同的值,直到我重新部署该函数,然后它会为我提供新的正确值
"""Search Function for Lambda"""
from urllib.parse import unquote
import json
import pymysql
# Configuration Values
##CONFIG VALUES REMOVED
# Connection
connection = pymysql.connect(ENDPOINT, user=USERNAME,
passwd=PASSWORD, db=DATABASE_NAME)
def get(event, context):
"""Takes searches key from event and searches the database on that key"""
print(context)
cursor = connection.cursor()
search_key = unquote(event['pathParameters']['search_key'])
cmd = ('SELECT * from LCI_Data WHERE Description Like "{}"'.format("%"+search_key+"%"))
cursor.execute(cmd)
result = [dict((cursor.description[i][0], value)
for i, value in enumerate(row)) for row in cursor.fetchall()]
response = {
"statusCode": 200,
"body": json.dumps(result),
"headers": {
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Credentials": "true"
}
}
return response
解决方案
移动
connection = pymysql.connect(ENDPOINT, user=USERNAME,
passwd=PASSWORD, db=DATABASE_NAME)
进入 get() 函数解决了我的问题。
推荐阅读
- python - 我无法进入 django admin 中的帖子
- sql - 如何识别 SQL 中的模式
- java - Dynamo DB 一次性使用多个 PK、SK 获取数据
- typescript - updateOne 的猫鼬打字稿类型
- anaconda - 环境未保存 Spyder 首选项(在 Anaconda 中创建)
- firebase - 适用于两个平台(IOS、Android)的 React Native(+Firebase)上的 Google 登录
- python - Groupby并找到最后三个实例的平均值
- java - java.lang.NoClassDefFoundError:解析失败:Lcom/google/android/gms/common/util/zzv;单击登录按钮时出现此错误
- java - 在 JPanel 或框架上绘图?
- wordpress - 如果需要,如何在 Wordpress 中使用 python