从Google Apps脚本

时间:2017-12-05 11:39:14

标签: mysql ssl jdbc google-apps-script amazon-rds

我正在尝试使用Google Apps脚本中的SSL连接到AWS RDS中的Mysql实例。在过去的两天里,我一直在这里搜索类似的问题,但没有找到解决方案。

对于RDS,由于只有来自Amazon的服务器证书可用(rds-combined-ca-bundle)且没有客户端密钥/证书,我在_serverSslCertificate参数中给出了该证书。凭证是正确的。它适用于SequelPro等其他工具。 RDS安全组拥有所有[Google的服务器] [1]。

但是应用程序脚本因“无法建立数据库连接而失败”。请检查连接字符串,用户名和密码。

这是我的代码

var address = 'hostname:3306'; 
var user = 'xxxx'; 
var userPwd = 'yyyy'; 
var db = 'zzzz'; 
var dbUrl = 'jdbc:mysql://' + address + '/' + db ;    

var serverSslCertificate = UrlFetchApp.fetch("https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem");


var serverSslCert = serverSslCertificate.getContentText();
var conn = Jdbc.getConnection(dbUrl, 
                            {user:user, 
                             password: userPwd,
                             _serverSslCertificate: serverSslCert
                            }); 


var stmt = conn.createStatement();

有人可以分享一个有效的例子吗?或者这是一个问题? 感谢您的宝贵回复,谢谢!

1 个答案:

答案 0 :(得分:0)

我们能够在this question中解决这个问题。您需要在连接网址的查询字符串中添加useSSL=true