首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Django在Google Cloud中运行找不到/cloudsql套接字

Django在Google Cloud中运行找不到/cloudsql套接字
EN

Stack Overflow用户
提问于 2020-09-24 17:50:29
回答 2查看 407关注 0票数 1

我有一个停靠的django应用程序,我已经构建了它,上传到GCR,然后部署为google cloud run服务。然而,在启动时,我得到了以下错误(来自云运行日志):

代码语言:javascript
运行
复制
psycopg2.OperationalError: could not connect to server: Connection refused
Is the server running locally and accepting 
connections on Unix domain socket "/cloudsql/kingdoms-289503:us-west1:kingdomsdb/.s.PGSQL.5432"?

我对django的数据库设置如下所示:

代码语言:javascript
运行
复制
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'HOST': "/cloudsql/kingdoms-289503:us-west1:kingdomsdb",
        'USER': "postgres",
        'PASSWORD': "password",
        'NAME': "postgres",
    }
}

并且我已经确保创建到数据库的连接

据我所知,cloud run应该神奇地挂载一个at /cloudsql,django可以用它来连接postgres,但这个错误意味着它没有被挂载。

是否有额外的配置我需要检查以确保套接字在那里?除了连接到cloudsql之外,是否还有其他不涉及此套接字的方法?

EN

Stack Overflow用户

发布于 2021-09-25 05:00:40

正如@glasnt上面提到的,这也可能是ACL问题。服务帐户需要Cloud SQL Client角色。在默认情况下,Default compute service account是以compute@developer.gserviceaccount.com结尾的主体。

我的问题是,我没有获得添加角色的选项,这是我的新手直觉引导我的,云运行服务资源。相反,请转到IAM主设置、IAM选项卡,并手动将权限添加到服务帐户。如果您在列表中看不到服务帐户,因此无法编辑其角色,您可以转到Add + (顶部工具栏)并手动输入电子邮件地址。

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64043892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档