GASからCloud SQL(MySQL)に接続するコード

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');
}
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする