Google Apps Scripsから、Google Cloud SQLのMySQLに接続するコードのサンプル。このとき、Cloud SQLのMySQLは、MySQL 5.7よりも古くないと接続できない。
DBへの接続は、JDBCを使用する。このとき、JDBCの読み込みは必要なく、GASのエディタ上で直接記述してよい。このサンプルでは、SSL(TLS)を使わないバージョン。通信経路が暗号化されないので、注意が必要。
接続のチェックのため、コンソールログに、いろいろと書き出すようにしている。Logの部分はなくても、問題なし。
function myFunction() {
dbConnection();
}
// --------------------------------
// SSL 接続なしで接続する
// --------------------------------
function dbConnection(){
Logger.log('start dbConnection function.');
// 接続先設定
var connectionIp = 'xxx.xxx.xxx.xxx'; // 接続のMysqlのIPアドレス(ホスト名があれば、ホスト名も可)
var userName = 'user'; // 接続で使うユーザ名
var passwd = 'password'; // 接続で使うパスワード 変数名をpasswdにしているのは、コネクションInfoの作成時にキーワードと変数が同じになるのを避けるため。
var databaseName = 'dbname'; // データベース名
var addr = 'jdbc:mysql://' + connectionIp + '/' + databaseName;
Logger.log('start mysql con');
Logger.log(addr);
var connectionInfo = {
user: userName,
password: passwd
}
var connection = Jdbc.getConnection(addr, connectionInfo);
// 接続できたことを確かめるために、ログにDB名を出力。
Logger.log(connection.getCatalog());
// コネクションを閉じる
connection.close();
Logger.log('end');
}