Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 需要帮助:部署在Google Cloud Run上的NodeJs应用程序,无法连接到Google Cloud SQL实例_Google Cloud Platform_Google Cloud Sql_Google Cloud Run - Fatal编程技术网

Google cloud platform 需要帮助:部署在Google Cloud Run上的NodeJs应用程序,无法连接到Google Cloud SQL实例

Google cloud platform 需要帮助:部署在Google Cloud Run上的NodeJs应用程序,无法连接到Google Cloud SQL实例,google-cloud-platform,google-cloud-sql,google-cloud-run,Google Cloud Platform,Google Cloud Sql,Google Cloud Run,下面是使用连接池连接到PostgreSql db的节点Js代码: const express = require("express"); const path = require("path"); var bodyParser = require("body-parser"); var cors = require("cors"); const app = express(); app.use(bodyParser

下面是使用连接池连接到PostgreSql db的节点Js代码:

const express = require("express");
const path = require("path");
var bodyParser = require("body-parser");
var cors = require("cors");

const app = express();
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use(cors());

const Pool = require("pg").Pool;

const pool = new Pool({
  user: "",
  host: "",
  database: "",
  password: "",
  port: 5432,
});

app.get("/get_que", (req, res) => {
  pool.query(
    "SELECT json FROM surveys where available = TRUE;",
    (error, results) => {
      if (error) {
        console.log(error);
      }
      res.json({ data: results.rows });
    }
  );
});
上述应用程序部署在Google Cloud Run中,并配置了Google Cloud SQL(PostgresSql连接),但无法从Google Cloud Run应用程序进行连接

在本地使用云SQL代理,我可以连接到云SQL实例

我在上面的应用中的“主机”参数中尝试了云SQL实例的公共ip,它没有连接


如何从部署在Google Cloud Run上的上述NodeJs应用程序连接到Google Cloud SQL实例?

即使在云SQL实例中启用了公共IP,默认情况下也不允许网络


您在中有一个非常详细的指南。

即使在云SQL实例中启用了公共IP,默认情况下也不允许使用网络


您在中有一个非常详细的指南。

您需要启用云SQL的公共IP,并通过“云运行连接”选项卡设置连接。此外,在部署修订版时,还需要使用unixsockets/cloudsql/I将Cloud-SQL实例连接到Cloud-run。现在,在我的代码中,在主机参数中,我需要放置'\cloudsql\'?const Pool=require(“pg”).Pool//下面是Google cloud const pool=new pool({用户:'postgres',主机:'/cloudsql//.s.PGSQL.5432',数据库:'db1',密码:'password123'//port:5432,});尝试上述主机参数,还将“SQL客户端”角色添加到服务帐户。仍然不工作您需要启用云SQL的公共IP,并通过“云运行连接”选项卡设置连接。此外,在部署修订版时,还需要使用unixsockets/cloudsql/I将Cloud-SQL实例连接到Cloud-run。现在,在我的代码中,在主机参数中,我需要放置'\cloudsql\'?const Pool=require(“pg”).Pool//下面是Google cloud const pool=new pool({用户:'postgres',主机:'/cloudsql//.s.PGSQL.5432',数据库:'db1',密码:'password123'//port:5432,});尝试上述主机参数,还将“SQL客户端”角色添加到服务帐户。仍然不工作如何找到ip地址添加到授权网络?。我的应用部署在云运行中,需要连接到云Sql实例。在将应用程序部署到cloud run时,我还添加了此SQL实例。如果将云SQL连接名称与Unix套接字一起使用,则无需添加网络。如果要使用公共id,则需要添加云运行服务的公共IP。(通常您可以直接选择,因为它是自动完成的)谢谢。我删除了/.s.PGSQL.5432,它工作正常。Cloud run在运行时自动添加此值。因此,需要将上述值加上后缀,以便查找要添加到授权网络中的ip地址?。我的应用部署在云运行中,需要连接到云Sql实例。在将应用程序部署到cloud run时,我还添加了此SQL实例。如果将云SQL连接名称与Unix套接字一起使用,则无需添加网络。如果要使用公共id,则需要添加云运行服务的公共IP。(通常您可以直接选择,因为它是自动完成的)谢谢。我删除了/.s.PGSQL.5432,它工作正常。Cloud run在运行时自动添加此值。因此,需要再次为上述值添加后缀