无法从 Prisma in Cloudfunction 连接到 Postgres CloudSQL



我正在尝试使用Prisma从云函数连接到公共IP CloudSQL Postgres数据库。数据库已强制使用SSL。我假设我可以使用Cloud Auth Proxy,它在本地工作,但当我部署它时,它会给我一个错误。

我都试过了:

选项1:

datasource db {
provider = "postgresql"
url = "postgresql://USER:PASSWORD@localhost:3307/DATABASE_NAME?host=CONNECTION_URL"
}

收到错误:

Can't reach database server at `CONNECTION_URL`:`3307`

选项2:

datasource db {
provider = "postgresql"
url = "postgresql://USER:PASSWORD@localhost/DATABASE_NAME?host=CONNECTION_URL"
}

收到错误:

Can't reach database server at `IP_ADDRESS`:`5432`

其中IP_ADDRESS是我可以在控制台中看到的数据库的正确公共IP地址

CONNECTION_URL是/cloudsql/PROJ:REGION:INSTANCE

您的应用程序正在尝试连接"CONNECTION_URL";以及";3307";。要在云功能上使用公共IP,您应该通过unix套接字进行连接:https://cloud.google.com/sql/docs/mysql/connect-functions#connect_to

基于这个问题,看起来你的URL应该是这样的:

postgresql://username@localhost/databasename?host=/cloudsql/CONNECTION_NAME

其中,实例连接名称为PROJ:REGION:INSTANCE

发现我为所有流量启用了vpc连接器,所以所有流量都试图通过私有vpc而不是公共IP。禁用它修复了它。

相关内容

  • 没有找到相关文章

最新更新