Google cloud platform 需要帮助:部署在Google Cloud Run上的NodeJs应用程序,无法连接到Google Cloud SQL实例
下面是使用连接池连接到PostgreSql db的节点Js代码: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
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在运行时自动添加此值。因此,需要再次为上述值添加后缀