Google App Engine无效的连接ID

时间:2014-11-20 09:04:38

标签: python google-app-engine flask sqlalchemy google-cloud-sql

Google App Engine在15分钟后尝试连接数据库以进行CRUD操作时返回错误。

InternalError: (InternalError) (0, u'Invalid connection id.') 'SELECT users.id

我正在使用Python,Flask,SQLAlchemy,Google Cloud SQL

我需要手动重启实例才能登录或执行任何操作。

以下是我启动应用的方式:

    if __name__ == '__main__':    
    app.run()

以下是我创建引擎的方法

    engine = create_engine('mysql+gaerdbms:///xxx?instance=xxx:xxx', echo=True)
    Session = sessionmaker(bind=engine)

我该怎么办? mysql-instance设置为Per Package计划

2 个答案:

答案 0 :(得分:0)

我怀疑mysql+gaerdbms正在使用旧的API与Cloud SQL交谈。目前的方法是使用名为/cloudsql/xxx:xxx的unix套接字,其中xxx:xxx是实例的全名。

所以我期望做的连接字符串如下所示:

    mysql://localhost/xxx?unix_socket=/cloudsql/xxx:xxx

参考文献:

答案 1 :(得分:0)

如果我使用db用户,localhost IP和端口号,它对我有用。

engine = create_engine('mysql://root@127.0.0.1:3306 / xxx?unix_socket = / cloudsql / xxx:xxx')