从在Google Cloud Run上运行的Spring启动应用程序连接到没有GCP启动器的Cloudsql



我有一个在Google Cloud Run上运行的Spring启动应用程序,我想连接到在Google Cloudsql上运行的postgres实例。我能够使用Spring Cloud GCP入门项目进行连接。

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-gcp-starter-sql-postgresql</artifactId>
</dependency>

但我不想添加这种依赖关系。

我能够使用 postgressql 插件并在创建云代理后指定spring.datasource.url=***,从而从我的本地应用程序进行连接。

但是当我在使用gcloud beta run deploy --add-cloudsql-instances <INSTANCE-ID>后尝试从云运行中执行相同的操作时,它不起作用。根据 https://cloud.google.com/run/docs/configuring/connect-cloudsql 的说法,--add-cloudsql-instances会自动创建一个云代理。那么为什么它不起作用呢?

谢谢。

这是行不通的,因为Java不支持Unix域套接字。Spring Cloud GCP 通过使用 Cloud SQL JDBC Socket Factory 来规避这一点。

您可以直接使用套接字工厂,方法是将其添加为您的pom(并按照自述文件中指定的方式更新URL(。

相关内容

  • 没有找到相关文章

最新更新