从另一个项目

时间:2017-09-26 02:27:05

标签: java google-cloud-sql

我有一个数据库(谷歌云SQL)到一个gcloud项目(A),我需要从另一个gcloud项目(B)读取/写入它。我的问题是项目B无法对项目A上的数据库执行这些操作。我认为这是一个特权问题。

我在官方文档(https://cloud.google.com/sql/docs/mysql/connect-app-engine)中找到了这个:

  

1)授予应用程序访问权限:

     

转到Google Cloud Platform中的Cloud SQL Instances页面。   安慰。单击实例名称以打开其“概述”页面。选择   访问控制>授权。在授权的应用程序引擎中   单击应用程序部分,单击添加应用程序ID并输入   申请ID。单击“完成”退出编辑模式。单击“保存”以更新   实例

     

2)更新您的申请:

     

转到Google Cloud Platform中的Cloud SQL Instances页面   安慰。单击实例名称以打开其“概述”页面。复制   “属性”中的实例连接名称。使用以下内容   应用程序中的连接字符串:

     

/ CLOUDSQL /< INSTANCE_CONNECTION_NAME>

问题在于菜单与其说的不完全相同。

另外,我发现了另一套简短的说明:gcloud console-> SQL-> " id_of_instance" - >授权:指令图像。

enter image description here

然而,它没有用。

这是我的连接字符串:

  

< property name =" ae-cloudsql.cloudsql-database-url"               值="的jdbc:谷歌的:mysql://项目:美国central1:实例/数据库用户=用户放大器;密码=通" />

我尝试创建连接时出现的错误是:

  

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链接失败。成功发送到服务器的最后一个数据包是0毫秒前。驱动程序未收到来自服务器的任何数据包。

我创建此连接的代码是:

Connection conn = DriverManager.getConnection(System.getProperty("ae-cloudsql.cloudsql-database-url"));

非常感谢你。

0 个答案:

没有答案