這是拋出的異常:javax.servlet.ServletException: javax.servlet.ServletException: org.glassfish.jersey.server.ContainerException: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.我稍后也會在堆棧跟蹤中收到此消息:Caused by: java.lang.RuntimeException: The Google Cloud SQL API is not enabled for project [xxxxxx]. Please use the Google Developers Console to enable it: https://console.cloud.google.com/apis/api/sqladmin/overview?project=xxxxxx當我單擊控制臺鏈接時,可以看到 Cloud SQL Api 已啟用,并且當數據庫位于同一項目中時,代碼運行良好。我還添加了 AppEngine 靈活服務帳戶,該帳戶App Engine flexible environment Service Agent在包含角色為 的 Cloud SQL 數據庫的項目中具有角色Cloud SQL Client。接下來我應該嘗試什么?謝謝更新pom.xml:-- update2 不再需要那個文件 --
2 回答

HUH函數
TA貢獻1836條經驗 獲得超4個贊
訪問不同項目中的 Cloud SQL 實例時,務必在源項目中啟用 Cloud SQL Admin API。復制錯誤消息中的鏈接并將項目 ID 替換為其他項目 ID。當前消息具有誤導性,因為它當前假定實例在同一個項目中。

慕標5832272
TA貢獻1966條經驗 獲得超4個贊
項目間 Cloud SQL 通信需要做兩件事:
包含 Cloud SQL 實例的項目必須啟用 Cloud SQL Admin API
要訪問它的項目必須在包含 Cloud SQL 實例 ( source )的項目上具有適當的 Cloud SQL IAM 角色:
不同項目中的 App Engine 和 Cloud SQL
對于不同項目中的 App Engine 應用程序和 Cloud SQL 實例,您必須授予默認的 appengine 服務帳號(
[PROJECT-ID]@appspot.gserviceaccount.com)
以下 IAM 角色之一:
云 SQL 客戶端
Cloud SQL 編輯器
云 SQL 管理員
添加回答
舉報
0/150
提交
取消