Django应用程序在使用Cloud SQL PostgreSQL DB的Cloud Run上出错-无法连接到数据库



我在Google Cloud on Cloud Run上有一个Django项目。应该连接到Cloud SQL PostgreSQL数据库并工作,但它没有。以下是settings.py的数据库部分(我已经删除了私有数据(:

DATABASES = {
'default': {   
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'db',
'USER': 'user',
'PASSWORD': 'password',
'HOST': '/cloudsql/project:europe-west4:instance',
'PORT': '5432',
}
}

然而,当我尝试做任何与数据库相关的事情(例如,登录(时,它会抛出错误

OperationalError at /accounts/login/
could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/cloudsql/*project*:europe-west4:*instance*/.s.PGSQL.5432"?

如果我从HOST中删除/cloudsql/,它会给出错误

OperationalError at /accounts/login/
could not translate host name "*project*:europe-west4:*instance*" to address: Name or service not known

当我在本地计算机上使用Cloud SQL代理exe进行测试时,它可以正常工作。然而,当我将它部署到Cloud Run时,它并没有。

您是否启用了从Cloud Run连接到该Cloud SQL实例?

尝试运行

gcloud run services update [your cloud run service name] 
--add-cloudsql-instances [project:region:instance]

还要检查您的云运行服务帐户是否具有Cloud SQL Client权限。有关如何做到这一点的更多信息,请参阅本文档。

尝试在host参数中使用完整url

相关内容

  • 没有找到相关文章

最新更新