在Cloud SQL上连接到postgresql实例:未为项目启用Google Cloud SQL API

时间:2017-12-29 16:55:44

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

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

  

org.postgresql.Driver connect:意外的连接错误:(Driver.java:271)   java.lang.RuntimeException:项目[ad ***** manager-XXXXXXX]未启用Google Cloud SQL API。请使用Google Developers Console启用它: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

1 个答案:

答案 0 :(得分:2)

实际上我必须启用SQL API而不是在承载数据库的项目中,如错误消息中所述,但是在承载应用程序的项目中

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

screenshot