我想使用 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