java - 连接到 Cloud SQL : The Google Cloud SQL API is not enabled for project 上的 postgresql 实例

标签 java postgresql google-app-engine google-cloud-sql

我在 appengine 上部署了一个基本的 java 网络应用程序,它应该连接到 Cloud SQL 上的 postgresql 实例(在本地运行)。 部署后它(错误地?)在我浏览试图连接到数据库的页面时引发此异常:

org.postgresql.Driver connect: Unexpected connection error: (Driver.java:271) java.lang.RuntimeException: The Google Cloud SQL API is not enabled for project [ad*****manager-XXXXXXX]. Please use the Google Developers Console to enable it: https://console.cloud.google.com/apis/api/sqladmin/overview?project=ad*****manager-XXXXXXX

  • 我已经检查过 Google Cloud SQL API 已启用,如您所见 that screenshot
  • 我已在托管实例的项目上向我的应用程序授予云 sql 编辑器权限(请注意,postgresql 实例和 Web 应用程序位于两个单独的项目中。)
  • 这是一个弹性环境应用

这是失败的代码部分:

Class.forName("org.postgresql.Driver");
connection = DriverManager.getConnection(dburl, dbuser, dbpwd);

以及连接地址:

jdbc:postgresql://google/name_of_my_database?useSSL=false&socketFactoryArg=ad*****manager-XXXXXXX:europe-west1:XXXX-pgdb-preprod&socketFactory=com.google.cloud.sql.postgres.SocketFactory

最佳答案

实际上,我必须启用 SQL API,而不是像错误消息中所述那样在托管数据库的项目中启用 SQL API,而是在托管应用程序的项目中启用 SQL API

为此,进入 API 部分,选择库并搜索 SQL API(见下面的屏幕截图)

screenshot

关于java - 连接到 Cloud SQL : The Google Cloud SQL API is not enabled for project 上的 postgresql 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48025804/

相关文章:

postgresql - Postgres : Select columns based on row values

sql - 存储事件/非事件时间戳

google-app-engine - 在 Google Cloud SDK 上部署项目时错误响应 : [13] An internal error occurred,

java - 如何获取属于特定客户或域的成员组?

php - 错误 appcfg.py :2488 An unexpected error occurred. 正在中止

java - 为什么 Spring Boot 1.5 @Controller 中的 String 参数始终为 null?

java - 使用工作资源文件制作一个 jar 库

java - 在 try block 中分配最终变量

java - 为什么声明 "Driver not found: [org.postgresql.Driver]"与 postgresql 9.3-1102.jdbc41 依赖关系?

java - DAO层应该实现哪些方法?