Ini kod API Flask saya
from flask import request from flask_restful import Resource from mysql.connector import Error from flask_jwt_extended import jwt_required, get_jwt_identity from mysql_connection import get_connection class OrderListResource(Resource): # 내 주문내역 조회 API @jwt_required() def get(self): userId = get_jwt_identity() offset = request.args.get('offset') limit = request.args.get('limit') # 기본값 if not offset: offset = 0 if not limit: limit = 20 try: connection = get_connection() # 주문한 시간이 늦은 순으로 정렬 query = ''' select * from orders where userId = %s order by createdAt desc; limit '''+offset+''', '''+limit+'''; ''' record = (userId, ) cursor = connection.cursor(dictionary=True, buffered=True) cursor.execute(query, record) result_list = cursor.fetchall() for row in result_list: row['reservTime'] = row['reservTime'].isoformat() row['createdAt'] = row['createdAt'].isoformat() cursor.close() connection.close() except Error as e: print(e) cursor.close() connection.close() return {'error' : str(e)}, 500 return {'result' : 'success', 'items' : result_list, 'count' : len(result_list)}, 200
Saya menggunakan ia menggunakan AWS lambda dan mengujinya menggunakan Posman. Berfungsi dengan baik dalam keadaan tempatan, tetapi pelayan mendapat "Ralat Pelayan Dalaman". Tempatan AWS lambda
Jadi saya melihat log CloudWatch dan mendapat mesej ralat berikut:
[ERROR] InternalError: Unread result found
Perkara yang pelik ialah daripada semua API yang saya gunakan, hanya yang ini yang memberi saya ralat. API lain berfungsi dengan baik tempatan dan pada pelayan. Jadi saya tidak tahu di mana masalahnya.
Saya meletakkan bufferd=True dalam kursor() yang merupakan penyelesaian apabila mencari ralat "hasil yang belum dibaca dijumpai", tetapi ia tidak memberi kesan.
Saya menyelesaikan masalah ini! Sebabnya ialah; digunakan dua kali dalam pertanyaan. Ini adalah masalah mudah tetapi berfungsi dengan baik secara tempatan jadi saya tidak dapat mencari puncanya. maaf.