我在使用 CloudRun 将我的 node-express-typeorm 服务器与 CloudSQL Postgres 实例连接时遇到问题。
我已经根据官方文档成功添加了数据库代理:https ://cloud.google.com/run/docs/configuring/connect-cloudsql
并将快递服务的环境变量设置为
TYPEORM_URL=/cloudsql/[CONNECTION NAME]
但是该应用程序无法启动,因为它无法连接到数据库。
我在使用 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>