无法通过GAS连接到Google Cloud SQL

时间:2019-05-18 01:29:22

标签: google-apps-script google-cloud-sql

我无法通过GAS(Google Apps脚本)连接到 Google Cloud SQL

场景:

域A中的用户A(其他人):A
域中的用户B(我):A

首先,用户A正在与我合作。我们在同一个域中有另一个Google帐户。用户A创建了一个项目,并在该项目中创建了一个云SQL实例,用户A告诉我实例名称,数据库名称,用户和密码。

我尝试执行GAS脚本以使用户A成功连接,但它返回以下错误:“无法建立数据库连接。”

GAS Src:

var conn = Jdbc.getCloudSqlConnection("jdbc:google:mysql://" + instanceName + "/" + dbname, userid, userPwd);

我尝试了几种方法。

  1. 我是由创建数据库实例的项目成员添加的。
  2. 被要求允许我的公共IP。(我可以通过这种方式与mysql workbenth连接。)

以上两种方法均导致相同的错误。

我需要做些什么吗?

1 个答案:

答案 0 :(得分:0)

为了使您可以通过公共IP连接到实例,需要以某种方式进行身份验证。通常,主要有3种方法:使用具有正确IAM权限的服务帐户(这是cloud-sql-proxy的作用),使用SSL / TLS证书或白名单和IP。

由于您无法控制GAS所连接的IP,因此您应该考虑另外两个。我建议使用JDBC SocketFactory-您为它提供一个服务帐户,并且它提供了到您实例的经过身份验证的连接。