首先,我发现谷歌的云文档缺乏,而且有些不正确。
我正试图从一个云函数连接到一个云sql数据库,而且我有着无尽的问题。
这是连接错误
"Internal error looking up Cloud SQL instance "project:region:database/.s.PGS""
Error: connect ENOENT /cloudsql/project:region:database/.s.PGSQL.5432我能够用公共ip地址和代码在本地连接到上述数据库,但是在部署时,它根本不起作用。
我拥有的..。
Project A -它在australia-souteast1区域有数据库。
Project B -这有所有其他逻辑,也在australia-southeast1中
(数据库是遗留的,因此它在另一个项目中的原因)。
我有一个云调度任务,它触发了一个pubsub,这反过来触发了云功能。这个过程可以工作,并且正在记录它应该做的事情,这也是我看到无法连接错误的地方。
连接主机是/cloudsql/projectId:region:database (从Connection页面复制,所以我知道这不是问题)。
我还在Cloud Sql API和Cloud Sql Admin Api上启用了Project A和Project B,但仍然没有运气。
我还尝试使用默认服务帐户,方法是在Cloud Sql Client中添加Project B权限,然后将Project的默认服务帐户添加到具有Cloud Sql Client权限的Project A中。
否则,我将在Project B中创建一个新的服务帐户,并授予它Owner权限,然后将该用户添加到具有Owner权限的Project A中,我仍然会收到此错误。
我现在真的不知道发生了什么事。
我们有Project B上的应用程序引擎连接到Project A,没有任何问题,我真的很困惑。
下面是堆栈驱动程序错误

以及通过.env文件提供的be连接详细信息

更新:
在Project A中将数据库更改为不同的数据库实例似乎是连接的,因此它看起来可能是数据库实例的一个问题。
Database 1在工作,我可以连接到。
Database 2是我去不了工作的那个。Database 2是Database 1的克隆
发布于 2021-08-08 13:09:51
在这种情况下,文档是绝对正确的,但是您使用的是错误的文件路径。unix套接字位于/cloudsql/project:region:database/.s.PGSQL.5432,而不是/cloudsql/project:region:database/.s.PGS/.s.PGSQL.5432。
https://stackoverflow.com/questions/68697602
复制相似问题