我在使用Cloudrun连接我的Node-Express-typeorm服务器与CloudSQL Postgres实例中遇到问题。
我已经成功地基于官方文档添加了数据库代理:https://cloud.google.com/run/docs/configuring/connect-cloudsql
和设置Express Services的环境变量为
TYPEORM_URL=/cloudsql/[CONNECTION NAME]
但是,该应用程序无法启动,因为它无法连接到数据库。
我解决了问题。罪魁祸首是类型。Typeorm是使用/
分界符从TYPEORM_URL
解析数据库主机。而且仅读取cloudsql
而不是/cloudsql/[CONNECTION NAME]
。因此该应用无法连接到正确的端点。
解决问题设置以下环境变量,而不是TYPEORM_URL
TYPEORM_HOST=/cloudsql/[CONNECTION NAME]
TYPEORM_USERNAME=<username>
TYPEORM_PASSWORD=<password>
TYPEORM_DATABASE=<db>