【问题标题】:Appengine to MySQL Database hosted in Compute EngineAppengine 到 Compute Engine 中托管的 MySQL 数据库
【发布时间】:2016-05-06 12:09:25
【问题描述】:

有人知道是否可以将 Appengine 中的应用程序连接到计算引擎中托管的 mysql 数据库?

我正在尝试使用 python 执行此操作,但出现此错误:

无法创建 TCP/IP 套接字 (-1)

我正在使用使用下一个配置的 SqlAlchemy ORM:

create_engine('mysql+mysqldb://root@ip/database')

并且在本地工作,但是当我将应用程序部署到 appengine 时不起作用。

谢谢

【问题讨论】:

    标签: google-app-engine google-compute-engine google-app-engine-python


    【解决方案1】:

    默认情况下,Google App Engine 在sandboxed 环境中运行代码,这意味着 Python 运行时环境的某些方面受到限制,或者响应与其他情况不同。其中一个方面是出站网络连接——而 GAE supports sockets 有一定的限制,并且套接字仅适用于付费应用程序。

    用于在 GAE 应用程序中存储信息的 recommended options 包括 App Engine DatastoreGoogle Cloud SQLGoogle Cloud Storage。 Google Cloud SQL 是 MySQL 和 works with SQLAlchemy,所以这可能是您的最佳选择。

    如果您绝对需要运行自己的 MySQL 服务器(而不是使用 Google Cloud SQL)并从 GAE 应用程序连接到它,另一种选择是使用 managed VM environment,它允许不受限制的网络访问(因为它本质上是一个 Google Compute Engine 虚拟机,上面有 App Engine 运行时)。

    【讨论】:

      猜你喜欢
      • 2015-11-28
      • 2015-02-19
      • 2018-11-10
      • 1970-01-01
      • 2023-03-04
      • 2020-07-05
      • 1970-01-01
      • 2013-11-07
      • 1970-01-01
      相关资源
      最近更新 更多