是否可以使用Golang从App Engine flexible连接到Google Cloud SQL Postgres实例?

Har*_*han 2 postgresql google-app-engine go google-cloud-sql

我能够找到此文档,该文档解释了如何从python进行操作:https : //cloud.google.com/appengine/docs/flexible/python/using-cloud-sql-postgres

我找不到等同于golang的任何东西。这有可能吗?

rvs*_*rvs 5

有可能的。

免责声明:我尚未尝试实际执行此操作,因此以下内容可能存在错别字/小错误。另外,我想向您保证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")
Run Code Online (Sandbox Code Playgroud)

或者,如果您使用其他格式或库,则只需确保/cloudsql/INSTANCE_CONNECTION_NAME为host参数指定。

另外,请确保遵循https://cloud.google.com/appengine/docs/flexible/python/using-cloud-sql-postgres的所有非Python特定步骤。

PS:这是Django的示例:Google App Engine Flexi上 Django的Postgres设置