Заранее спасибо!
Я новичок в gcp и пытаюсь использовать Cloud SQL Postgres.У меня есть база данных, которая создается, и я хочу создать / обновить / удалить таблицы в ней, используя java или scala.
Я пытаюсь использовать postgres-socket-factory из 'com.google.cloud.sqlпакет.Но при создании соединения я получаю сообщение об ошибке:
"java.sql.SQLException: No suitable driver found for jdbc:postgres://google/"
Вот мой код
def getConnection(url:String) : Connection = {
Class.forName("org.postgresql.Driver")
import java.sql.DriverManager
DriverManager.getConnection(url)
}
Что означает для клиентов Java / Scala доступ к БД из Cloud SQL?
Да, после следования инструкциям из комментариев и изменения URL, он работал, но не работает с
Caused by: java.lang.RuntimeException: Unable to obtain credentials to communicate with the Cloud SQL API
at com.google.cloud.sql.core.SslSocketFactory$ApplicationDefaultCredentialFactory.create(SslSocketFactory.java:600)
at com.google.cloud.sql.core.SslSocketFactory.getInstance(SslSocketFactory.java:147)
at com.google.cloud.sql.postgres.SocketFactory.createSocket(SocketFactory.java:91)
at org.postgresql.core.PGStream.<init>(PGStream.java:62)
at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:91)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:192)
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49)
at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:195)
at org.postgresql.Driver.makeConnection(Driver.java:454)
at org.postgresql.Driver.connect(Driver.java:256)
... 6 more
Caused by: java.io.IOException: The Application Default Credentials are not available. They are available if running on Google App Engine, Google Compute Engine, or Google Cloud Shell. Otherwise, the environment variable GOOGLE_APPLICATION_CREDENTIALS must be defined pointing to a file defining the credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
at com.google.api.client.googleapis.auth.oauth2.DefaultCredentialProvider.getDefaultCredential(DefaultCredentialProvider.java:98)
at com.google.api.client.googleapis.auth.oauth2.GoogleCredential.getApplicationDefault(GoogleCredential.java:213)
at com.google.api.client.googleapis.auth.oauth2.GoogleCredential.getApplicationDefault(GoogleCredential.java:191)
at com.google.cloud.sql.core.SslSocketFactory$ApplicationDefaultCredentialFactory.create(SslSocketFactory.java:598)
... 15 more
Как устранить эту ошибку?
С уважением,