【问题标题】:Connect Google App Engine with Google Cloud Storage in flexible environment在柔性环境中将 Google App Engine 与 Google Cloud Storage 连接起来
【发布时间】:2016-11-05 22:54:02
【问题描述】:

我想从我的 GAE 应用程序连接到我的 Google Cloud MySQL 实例。我正在使用github.com/go-sql-driver/mysql 驱动程序,并按照tutorial 中指定的步骤进行操作。显然我可以毫无错误地连接到数据库,但是当我想发出请求时,我得到了driver: bad connectionpackets.go:33: unexpected EOF。我授权我的本地 IP 地址和 GAE 应用程序访问我的数据库,我可以从我的本地计算机和 mysql 客户端毫无问题地连接到它。我已经尝试在标准环境中设置我的应用程序并遵循here 的建议,但它也不起作用。

这是我用来连接数据库的 Go 代码:

host := os.Getenv("DB_HOST")
user := os.Getenv("DB_USER")
pwd := os.Getenv("DB_PWD")
connectionInfo := fmt.Sprintf("%v:%v@tcp(%v:3306)/mobile_data?parseTime=true", user, pwd, host)
db, err := sql.Open("mysql", connectionInfo)

这是我的 app.yaml 文件:

runtime: go
vm: true
env_variables:
    "DB_HOST": "[Google Cloud MySQL Instance IPv4]"
    "DB_USER": "[User]"
    "DB_PWD": "[Password]"

非常感谢任何提示或建议!

【问题讨论】:

  • 你是连接第一代还是第二代云sql实例?如果是二代,应该使用云sql代理:cloud.google.com/sql/docs/access-control#instanceaccess
  • 我连接了第一代实例。啊,在您发给我的链接中,他们声明不支持从应用引擎柔性环境访问第一代实例。感谢您的链接!

标签: mysql google-app-engine go google-cloud-platform google-cloud-sql


【解决方案1】:

This 链接指出,尚不支持应用引擎柔性环境和第一代 Cloud SQL 实例之间的实例级访问。如果您想连接到第二代 Cloud SQL,则必须使用 Cloud SQL 代理。
感谢@Tianzhou 指点我的链接。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-29
    • 1970-01-01
    • 2019-04-24
    • 1970-01-01
    • 2021-05-03
    • 1970-01-01
    • 2018-11-28
    • 2021-03-23
    相关资源
    最近更新 更多