0

我按照文档从云运行中启用 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]

4

1 回答 1

4

连接语句的一个示例是:

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

于 2019-05-31T10:19:40.790 回答