我有一个在Google Cloud Run上运行的Spring boot应用程序,并且我想连接到在Google Cloudsql上运行的postgres实例。我可以使用Spring Cloud GCP入门项目进行连接。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-gcp-starter-sql-postgresql</artifactId>
</dependency>
但是我不想添加此依赖项。
通过使用postgressql插件并在创建Cloud代理后指定spring.datasource.url=***
,我可以从本地应用程序进行连接。
但是当我尝试使用gcloud beta run deploy --add-cloudsql-instances <INSTANCE-ID>
后从云运行中执行相同操作时,它不起作用。根据{{3}},--add-cloudsql-instances
自动创建一个Cloud代理。那为什么不起作用?
谢谢。
答案 0 :(得分:0)
这不起作用,因为Java不支持Unix域套接字。 Spring Cloud GCP通过使用Cloud SQL JDBC Socket Factory来解决此问题。
您可以通过将套接字工厂添加到您的pom中(并按照自述文件中的指定更新URL)来直接使用套接字工厂。