繁体   English   中英

从应用引擎实例连接到Google云SQL

[英]Connecting to a google cloud SQL from an app engine instance

我想在谷歌应用程序引擎灵活的环境中运行一个elixir应用程序。

我还有一个在谷歌云SQL上运行的postgresql服务器。

我能够在docker容器中部署应用程序。 问题是我找不到如何配置与postgresql服务器的连接。

据我所知,应用程序引擎实例运行云SQL代理但我在实例中不断收到以下错误:[错误] Postgrex.Protocol(#PID <0.232.0>)无法连接:**(DBConnection.ConnectionError )tcp connect(localhost:5432):连接被拒绝 - :econnrefused

我正在使用phoenix / elixir应用程序获得相同的错误,我正试图从容器引擎中移出并进入应用程序引擎灵活的环境,只是无法弄清楚要使用什么作为主机名。

在我的应用程序引擎的PHP应用程序中我可以使用:/cloudsql/projectname:region:dbname为同一个数据库,但它似乎不适用于elixir

我也尝试直接使用云sql实例的IP地址,但这也没有用。

在我的app.yaml我有

env_variables:
  MIX_ENV: staging
  port: 8080
  DB_ENV_POSTGRES_HOST: :/cloudsql/projectname:region:dbame
  DB_ENV_POSTGRES_USER: userman
  DB_ENV_POSTGRES_PASSWORD: password

conf/staging.exs我有

config :guidebooks_api, GuidebooksApi.Repo,
  adapter: Ecto.Adapters.Postgres,
  username: System.get_env("DB_ENV_POSTGRES_USER") || "postgres",
  password: System.get_env("DB_ENV_POSTGRES_PASSWORD") || "postgres",
  hostname: System.get_env("DB_ENV_POSTGRES_HOST") || "localhost",
  database: "databasename",
  pool_size: 10,
  types: GuidebooksApi.PostgresTypes

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM