为了账号安全,请及时绑定邮箱和手机立即绑定

如何将 Google App Engine (Flex) Go 应用连接到 Google Cloud

如何将 Google App Engine (Flex) Go 应用连接到 Google Cloud

Go
慕哥9229398 2023-07-10 16:30:05
我正在用 Go 构建一个应用程序,并使用 Google App Engine 进行部署。我已经在 Google Cloud 上设置了一个 PostgreSQL 实例,启用了 API,并使用本地计算机上的 SQL 代理(从本地 PSequel 客户端和我的应用程序)成功连接到它。gcloud app deploy但是,当我这样做时,我收到此错误:ERROR: (gcloud.app.deploy) Error Response: [9] Application startup error:panic: dial unix /cloudsql/sapling:europe-west1:sapling/.s.PGSQL.5432: connect: no such file or directory我尝试将 Postgres 实例从版本 11 Beta 降级到 9.6。还尝试过使用这个驱动程序https://github.com/broady/gae-postgres,这看起来很有希望,但我无法在 Flex 环境中工作。应用程序.yamlruntime: go#Here we select the AppEngine Flex environment which performs a lot of the backend preparation for us including the ability to scale give the demandenv: flexenv_variables:  POSTGRES_CONNECTION: "user=postgres password=thisisntmypwd dbname=postgres host=/cloudsql/sapling:europe-west1:sapling"manual_scaling:  instances: 1#Select resource sizeresources:  cpu: 1  memory_gb: 0.5  disk_size_gb: 10beta_settings:  cloud_sql_instances: sapling:europe-west1:sapling=tcp:5432配置/db.gopackage configimport (    "database/sql"    "fmt"    _ "github.com/lib/pq"    "os")var Db *sql.DB//Set up connection to the databasefunc init() {    var err error    datastoreName := os.Getenv("POSTGRES_CONNECTION")    Db, err = sql.Open(        "postgres",        datastoreName,        )    if err != nil {        panic(err)    }    err = Db.Ping()    if err != nil {        panic(err)    }    fmt.Println("Connected to database")}
查看完整描述

1 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

我在我的测试环境中复制了这个问题,发现您收到的错误是由于 beta_settings 指定了端口。我在最后尝试了它=tcp:5432,它给了我同样的错误,然后我在没有它的情况下尝试它,它部署没有任何问题。



查看完整回答
反对 回复 2023-07-10
  • 1 回答
  • 0 关注
  • 108 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信