简体   繁体   English

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

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

I have a Spring boot app running on Google Cloud Run, and I want to connect to a postgres instance running on Google Cloudsql.我有一个在 Google Cloud Run 上运行的 Spring 启动应用程序,我想连接到在 Google Cloudsql 上运行的 postgres 实例。 I am able to connect using Spring Cloud GCP starter project.我可以使用 Spring Cloud GCP 入门项目进行连接。

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

But I don't want to add this dependency.但我不想添加这个依赖。

I was able to connect from my local app by using using the postgressql plugin and specifying spring.datasource.url=*** after creating a Cloud proxy.在创建云代理后,我可以使用 postgressql 插件并指定spring.datasource.url=***从本地应用程序连接。

But when I tried doing the same from cloud run after using gcloud beta run deploy --add-cloudsql-instances <INSTANCE-ID> it doesn't work.但是,当我在使用gcloud beta run deploy --add-cloudsql-instances <INSTANCE-ID>后尝试从云运行中执行相同操作时,它不起作用。 According to https://cloud.google.com/run/docs/configuring/connect-cloudsql , --add-cloudsql-instances automatically creates a Cloud proxy.根据https://cloud.google.com/run/docs/configuring/connect-cloudsql--add-cloudsql-instances自动创建云代理。 So why doesn't it work?那么为什么它不起作用呢?

Thanks.谢谢。

This doesn't work because Java doesn't support Unix domain sockets.这不起作用,因为 Java 不支持 Unix 域 sockets。 The Spring Cloud GCP circumvents this by using the Cloud SQL JDBC Socket Factory . Spring Cloud GCP 通过使用Cloud SQL JDBC Socket Factory来规避此问题。

You can use the Socket Factory directly by adding it your your pom (and updating your URL as specified in the README).您可以通过添加您的 pom 直接使用 Socket Factory(并按照自述文件中的说明更新您的 URL)。

暂无
暂无

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

相关问题 Spring Boot 云 GCP 无法连接到本地 Google PubSub 模拟器 - Spring Boot cloud GCP cannot connect to local Google PubSub emulator 无法将在 google 应用程序引擎中的 docker 容器中运行的 Spring Boot 应用程序连接到 google cloud sql? - Can't connect spring boot app running in docker container in google app engine to google cloud sql? 无法将 Spring 引导 Mysql 连接到 GCP 云 - Unable to connect Spring boot Mysql to GCP cloud 如何将 Spring Boot 服务从 Google Cloud Run 连接到 SQL 云实例? - How to connect a Spring Boot service from Google Cloud Run to SQL cloud instance? 无法从Google App Engine(春​​季启动应用)连接到Google Cloud SQL(第二代) - Can not connect to google cloud sql(second generation) from google app engine(spring boot app) 无法从 spring-boot-starter-data-neo4j 连接到云托管的 Neo4j 服务器 - Cannot connect from spring-boot-starter-data-neo4j to cloud hosted neo4j server spring-cloud-gcp-starter-bigquery 忽略属性文件中的 spring.cloud.gcp.credentials.location - spring-cloud-gcp-starter-bigquery ignores spring.cloud.gcp.credentials.location from property file 无法将 Spring Boot -Google App Engine 与 Postgresql 连接 - Cloud Sql - Cannot connect Spring Boot -Google App Engine with Postgresql - Cloud Sql Spring boot 和 GCP - 使用 spring-cloud-gcp-starter-sql-postgresql 连接 Cloud SQL 实例尝试 SSL 并且它延迟启动 - Spring boot and GCP - Connecting Cloud SQL instance with spring-cloud-gcp-starter-sql-postgresql tries SSL and it delays to start 具有Spring Boot的Docker映像无法连接到CloudSQL - Docker image with Spring boot fails to connect to CloudSQL
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM