在灵活的环境中将Google App Engine与Google云端存储相连接

时间:2016-07-04 09:08:32

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

我想从我的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]"

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

1 个答案:

答案 0 :(得分:0)

This链接指出,不支持应用引擎灵活环境与第一代云SQL实例之间的实例级访问。如果要连接到第二代Cloud SQL,则必须使用Cloud SQL Proxy 感谢@Tianzhou指点我的链接。