Не удается подключиться к Cloud SQL

Я пытаюсь подключиться к облачному sql GCP, используя учетную запись службы, которая имеет роль облачного редактора. Я следую приведенному здесь примеру.

Пример Spring Cloud GCP postgres с использованием сервисной учетной записи

мой файл application.properties

    # Set to the Postgres user you want to connect to; 'postgres' is the default user.
spring.datasource.username=username
spring.datasource.password=password
spring.cloud.gcp.sql.database-name=tablename
# This value is formatted in the form: [gcp-project-id]:[region]:[instance-name]
spring.cloud.gcp.sql.instance-connection-name=project-id:region:instancename
# So app starts despite "table already exists" errors.
spring.datasource.continue-on-error=true
# Enforces database initialization
spring.datasource.initialization-mode=always
spring.cloud.gcp.project-id=project-id
spring.cloud.gcp.credentials.location=file:src/main/resources/key.json

Я получаю ошибку ниже учетных данных

 2020-05-11 17:10:21.494  INFO 99087 --- [nio-8085-exec-1] c.g.cloud.sql.core.CoreSocketFactory     : Connecting to Cloud SQL instance [[instance name] via SSL socket.
2020-05-11 17:10:21.494  INFO 99087 --- [nio-8085-exec-1] c.g.cloud.sql.core.CoreSocketFactory     : First Cloud SQL connection, generating RSA key pair.
2020-05-11 17:10:21.499 ERROR 99087 --- [nio-8085-exec-1] c.h.m.p.p.e.util.ExceptionManager        : Error occured

org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.AbstractMethodError: org.springframework.cloud.gcp.autoconfigure.sql.SqlCredentialFactory.create()Lcom/google/api/client/http/HttpRequestInitializer;

person adorearun    schedule 11.05.2020    source источник


Ответы (1)


на основе этого ссылка Я думаю, вместо:

spring.cloud.gcp.credentials.location=file:src/main/resources/key.json

Вы должны использовать:

spring.cloud.gcp.sql.credentials.location=file:src/main/resources/key.json
person irvifa    schedule 12.05.2020
comment
@adorearun, можете ли вы подтвердить это... это довольно запутанно, так как README.adoc говорит просто раскомментировать, но, похоже, это свойство также следует изменить.... - person vitooh; 12.05.2020
comment
Да, раскомментируйте и добавьте местоположение файла, изменение, как указано выше, также не помогло. - person adorearun; 13.05.2020
comment
Удачи с этой проблемой? github.com/spring-cloud/spring-cloud-gcp/issues/ 1679 - person irvifa; 13.05.2020
comment
Другой способ сделать это — передать строку в кодировке base64, упомянутую в docs.spring.io/spring-cloud-gcp/docs/1.0.0.BUILD-SNAPSHOT/ spring.cloud.gcp.credentials.encoded-key - person irvifa; 13.05.2020