我能够找到这个文档,它解释了如何从python做到这一点: https://cloud.google.com/appengine/docs/flexible/python/using-cloud-sql-postgres
我找不到任何与golang相当的东西。这可能吗?
这是可能的。
免责声明:我没有尝试实际这样做,因此以下内容可能存在拼写错误/小错误。另外,我想向您保证,CloudSQL文档团队知道并正在努力为包括Go在内的其他语言添加示例。
在胆量下,AppEngine Flex为您运行CloudSQL代理,您的代码使用unix套接字通过通常的驱动程序连接到CloudSQL。
因此,虽然没有 Go 的例子,但它应该相当容易。假设你使用标准 Go 的 sql 库,并且读取 https://godoc.org/github.com/lib/pq 看起来你的代码中需要这样的东西:
db, err := sql.Open("postgres", "user=username password=password host=/cloudsql/INSTANCE_CONNECTION_NAME dbname=databasename")
或者,如果您使用不同的格式或库,只需确保为 host 参数指定/cloudsql/INSTANCE_CONNECTION_NAME
。
此外,请确保遵循 https://cloud.google.com/appengine/docs/flexible/python/using-cloud-sql-postgres 的所有非 Python 特定步骤。
PS:这是 Django 的示例:Google App Engine Flexi 上 Django 的 Postgres 设置
上面接受的答案是正确的,但我只是想在这里指出,谷歌现在已经添加了官方文档,在这里详细解释了同样的事情
https://cloud.google.com/appengine/docs/flexible/go/using-cloud-sql-postgres