(0, ''): ошибка интерфейса в pymysql

Я пытаюсь читать из определенной строки в базе данных MySQL. Я получаю сообщение об ошибке InterfaceError в строке 17.

Полная ошибка:

(0, ''): Отслеживание ошибки InterfaceError (последний вызов последним): файл "/var/task/handler.py", строка 17, в основном cur.execute (sql)

Я сам протестировал запрос MySQL, и он работает нормально. Программа использует Serverless Framework, размещенную на Amazon Lambda.

   import json
import common
import pymysql

db = pymysql.connect(host="example.com",
                     user="admin",
                     passwd="Foo",
                     db="Bar")

def main(event, context):
    sql = "SELECT * FROM Accounts WHERE Username ='Caleb'"
    cur = db.cursor()
    cur.execute(sql)
    result = cur.fetchall()
    cur.close()
    db.close()
    data = pwd + usern
    alldata = data + result
    return dict(
        statusCode=200,
        body=json.dumps(alldata)
   )

    return response

person Caleb Bird    schedule 28.02.2018    source источник
comment
Эта ошибка связана с неожиданным закрытием / повторным использованием курсора или соединения с базой данных. См. этот вопрос. Удаление строки db.close() из функции или добавление инициализации базы данных в области действия функции должно решить эту проблему.   -  person stacksonstacks    schedule 28.02.2018