无法将 CloudRun 服务连接到 CloudSQL 实例 (Nodejs-Express-Typeorm) 服务器

Unable to connect CloudRun service to CloudSQL instance ( Nodejs-Express-Typeorm ) server

我在使用 CloudRun 将我的 node-express-typeorm 服务器与 CloudSQL Postgres 实例连接时遇到问题。

根据官方文档添加数据库代理成功:https://cloud.google.com/run/docs/configuring/connect-cloudsql

并将快速服务的环境变量设置为

TYPEORM_URL=/cloudsql/[CONNECTION NAME]

但是应用程序无法启动,因为它无法连接到数据库。

我已经解决了这个问题。罪魁祸首是 TypeORM。 TypeORM 正在使用 / 分隔符从 TYPEORM_URL 解析数据库主机。而且它只读取 cloudsql 而不是 /cloudsql/[CONNECTION NAME]。因此应用程序无法连接到正确的端点。

要解决此问题,请设置以下环境变量而不是 TYPEORM_URL

TYPEORM_HOST=/cloudsql/[CONNECTION NAME]

TYPEORM_USERNAME=<username>

TYPEORM_PASSWORD=<password>

TYPEORM_DATABASE=<db>