【问题标题】:Is it possible to connect to a google cloud sql postgres instance from app engine flexible using golang?是否可以使用 golang 灵活地从应用引擎连接到谷歌云 sql postgres 实例?
【发布时间】:2017-10-18 03:30:22
【问题描述】:

我找到了解释如何从 python 中执行此操作的文档:https://cloud.google.com/appengine/docs/flexible/python/using-cloud-sql-postgres

我找不到任何与 golang 等效的东西。这甚至可能吗?

【问题讨论】:

    标签: postgresql google-app-engine go google-cloud-sql


    【解决方案1】:

    上面接受的答案是正确的,但我只想在这里指出,谷歌现在已经添加了官方文档,在这里详细解释了同样的事情

    https://cloud.google.com/appengine/docs/flexible/go/using-cloud-sql-postgres

    【讨论】:

    • 我在那里没有看到任何 golang 文档。你确定你的链接是正确的?
    • 你是对的。该 url 现在重定向到一个完全无用的 MySQL 相关页面。看起来谷歌再次重新组织了他们的文档,所有的 golang 东西都不见了。所以,父母的答案现在没用了。叹息。
    • github 中的示例可能是一个更好的查看位置:github.com/GoogleCloudPlatform/golang-samples/tree/master/…
    【解决方案2】:

    有可能。

    免责声明:我并没有真正尝试过这样做,因此以下内容可能存在拼写错误/小错误。此外,我想向您保证,CloudSQL 文档团队知道并正在努力为包括 Go 在内的其他语言添加示例。

    AppEngine Flex 为您运行 CloudSQL proxy,您的代码使用 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")
    

    或者,如果您使用不同的格式或库,只需确保为主机参数指定/cloudsql/INSTANCE_CONNECTION_NAME

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

    PS:这里是 Django 的示例:Postgres settings for Django on Google App Engine Flexi

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多