如何使用主机从我的Google App Engine应用程序连接到Compute Engine上的Postgresql数据库

时间:2016-03-21 00:04:59

标签: database postgresql google-app-engine go

我一直在Google App Engine上部署我的Go应用程序,这很不错。然后我使用这个漂亮的Google设置文档在计算引擎上创建了一个Postgresql数据库: https://cloud.google.com/solutions/setup-postgres

我已经创建了我的数据库和表格,这一切都非常好..我唯一不知道的是,我如何从我的App引擎应用程序连接到这个计算引擎?

在我的Go代码中,以下连接如下:

package core

import (
"database/sql"
"log"

_ "github.com/lib/pq"
)

var db *sql.DB

func ConnectDB(connectStr string) {

var err error
db, err = sql.Open("postgres", ("host=???? user=user password=pw   
dbname=dbtest sslmode=disable")

err = db.Ping()
checkErr(err)
...

现在我看到谷歌很好地解释了如何在这里为云SQL做到这一点:https://cloud.google.com/appengine/docs/go/cloud-sql/reference

但我想知道如何使用我的PostgreSQL数据库为我的计算引擎工作:(

更新21-03-16:

是的我已将其更改为外部IP地址作为主机,现在我看到它实际连接到计算引擎上的数据库,但是我知道为什么我感到困惑,日志和网站仍显示服务器错误,这时间在db.Ping错误的日志中说出以下内容:

恐慌:拨打tcp [外部IP地址]:5432:不允许操作

已有几种标准防火墙: 0.0.0.0/0和端口号:80,:443等

我是否需要添加额外规则?这条规则应该怎么样?是否有更多信息,我可以在哪里看到我应该如何正确地做到这一点?

更新23-03

总结:我希望成为"授权"我在计算引擎上的Google App Engine应用程序连接到我的数据库。我该怎么做?

不知何故,这在谷歌网站上并不是很清楚,尽管这应该是微不足道的。我希望谷歌计算\应用引擎网站上有明确的信息..

现在我非常被迫使用CloudSQL

结论:

我认为需要使用OAuth,如我在下面的评论中提供的链接中所述

0 个答案:

没有答案