首页 > 解决方案 > 由于 SQL 云配置无效,云运行无法启动

问题描述

我按照文档从云运行中启用 SQL Cloud。但根据文档:

您的容器实例现在可以通过自动激活和配置的 Cloud SQL 代理连接到 Cloud SQL。/cloudsql/[CONNECTION NAME]在您的代码中,您可以使用unix 套接字连接到 Cloud SQL 实例。

最后一句是什么意思?我是否需要使用通常的连接字符串进行连接,例如: jdbc:postgresql://localhost:5432/${DATABASE_NAME}

就我而言,这就是阻止容器启动的原因。org.postgresql.util.PSQLException:连接到 localhost:5432 被拒绝。检查主机名和端口是否正确以及 postmaster 是否接受 TCP/IP 连接。

我还使用以下命令“添加”SQL 云: gcloud beta run deploy --image gcr.io/[PROJECT_ID/[IMAGE_NAME]:[TAG] --add-cloudsql-instances [CONNECTION_NAME]

标签: google-cloud-platformgoogle-cloud-sqlgoogle-cloud-run

解决方案


连接语句的一个示例是:

import pymysql
connection = pymysql.connect(unix_socket='/cloudsql/' + <INSTANCE_CONNECTION_NAME>,
                             user='<USER>',
                             password='<PASSWORD>',
                             db='<DATABASE>')

您可以在Google 的文档中找到更多相关信息,了解如何从使用云代理的外部应用程序连接到 Cloud SQL。

如果您使用的是 Java。可以在此处找到 UNIX 套接字连接的文档:Cloud SQL Socket Factory for JDBC drivers


推荐阅读