Aws lambda 为什么pymysql conn.close()是在CORS错误时执行的?
首先,我希望你能理解我的蹩脚英语 AWS API网关(HTTP API,CORS安装程序未执行任何操作。)+Lambda+Pymysql当前正在使用。 奇怪的是,“返回数据”之前的“conn.close()”会导致CORS错误 下面是代码和实际错误屏幕Aws lambda 为什么pymysql conn.close()是在CORS错误时执行的?,aws-lambda,pymysql,Aws Lambda,Pymysql,首先,我希望你能理解我的蹩脚英语 AWS API网关(HTTP API,CORS安装程序未执行任何操作。)+Lambda+Pymysql当前正在使用。 奇怪的是,“返回数据”之前的“conn.close()”会导致CORS错误 下面是代码和实际错误屏幕 def lambda_handler(event, context): sg_dict = {} try: cur = conn.cursor() sg_dict = sg_select_query
def lambda_handler(event, context):
sg_dict = {}
try:
cur = conn.cursor()
sg_dict = sg_select_query(cur)
if sg_dict != {}:
sg_dict = ec2_select_query(cur, sg_dict)
conn.close()
return {
'statusCode': 200,
'headers': {
'Access-Control-Allow-Headers': 'Content-Type',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET'
},
'body': json.dumps(sg_dict)
}
except:
import traceback
print(traceback.format_exc())
conn.close()
return {
'statusCode': 500,
'body': 'error'
}
但是,将“conn.close()”更改为“#conn.close()”将正常执行
我真的不知道为什么会这样。请分享你的经验。
多谢各位
---在210414 11:17(格林尼治标准时间+9)上添加图像---
我可以看到有两个conn.close,每个try-and-catch块中有一个。哪一个引起了问题?您也可以共享一些日志吗?每次lambda返回500,都会导致浏览器中出现CORS错误(这是正常的)。请在lambda代码中添加打印日志结果(traceback.format_exc())更改为仅运行conn.close()一次。(请检查我问题中添加的图像。)尽管如此,CORS错误仍在继续发生-(.我将查找log.has pymysql connection auto close函数?在不调用“close”函数时没有执行错误。