为 Jdbc.getConnection 设置高级参数



我想使用 Google Apps 脚本安全地连接到 SQL Google Cloud Platform。 但是,我不确定如何设置参数_serverSslCertificate, _clientSslCertificate,以及Jdbc.getConnection方法的clientSslKey。 我已经下载了证书和密钥文件。

-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAlj6vYtt6F8rv254sllmvGogSYwzS0JaB6Yezji6Ab+gmZPLc
dyfNIg4PTe8YCz45RnJ+8VVklTQ4K/MFzsB6nilNMDSFRCAfRmytQkioEFlgzdL+
...
JOyb/68aCqHHStwlpCUTH40Iqh3kneiQ1be2XigxjllMSYkuH/ebZw==
-----END RSA PRIVATE KEY-----

我应该如何将字符串文字分配给_serverSslCertificate? 例如。。。

var serverSslCert = '-----BEGIN RSA PRIVATE KEY-----n
MIIEpAIBAAKCAQEAlj6vYtt6F8rv254sllmvGogSYwzS0JaB6Yezji6Ab+gmZPLcn
dyfNIg4PTe8YCz45RnJ+8VVklTQ4K/MFzsB6nilNMDSFRCAfRmytQkioEFlgzdL+n
...
JOyb/68aCqHHStwlpCUTH40Iqh3kneiQ1be2XigxjllMSYkuH/ebZw==n
-----END RSA PRIVATE KEY-----';

证书在 getConnection(url,info) 的 info 参数中发送。https://developers.google.com/apps-script/reference/jdbc/jdbc#getconnectionurl-info

例:

var serverSslCert = PropertiesService.getScriptProperties().getProperty("serverSslCert");
 var sqlInfo = {_serverSslCertificate: serverSslCert,
                _clientSslCertificate:"...",
                _clientSslKey:"..."
               };
 var conn = Jdbc.getConnection('jdbc:mysql://yoursqlserver.example.com:3306/database_name',
                                sqlInfo);

不过,JDBC服务中有一些特定于Google Cloud SQL的连接方法。

https://developers.google.com/apps-script/reference/jdbc/jdbc#getcloudsqlconnectionurl-info

https://developers.google.com/apps-script/reference/jdbc/jdbc#getconnectionurl-username-password

最新更新