繁体   English   中英

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

[英]Connect from Spring boot app running on Google Cloud Run to a Cloudsql without GCP starter

我有一个在 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 域 sockets。 Spring Cloud GCP 通过使用Cloud SQL JDBC Socket Factory来规避此问题。

您可以通过添加您的 pom 直接使用 Socket Factory(并按照自述文件中的说明更新您的 URL)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM