透過Google指令碼,存取Google Cloud SQL

既然Cloud SQL提供了MySQL的Feature
那麼透過指令碼(Apps Script)來存取Cloud SQL應該也是OK的拉!
這邊介紹一下在指令碼中操作的方式

首先要確認一下您在Cloud SQL中申請的DB Instance名稱
而名稱可以在API Console中找到


此範例是屬於手動執行的部份,因此這邊建一個test function來收容db query的code...

function test(){
  var conn = Jdbc.getCloudSqlConnection("jdbc:google:rdbms://[db instance name]/[db name]");
  var stmt = conn.createStatement();
  stmt.setMaxRows(100);
  var start = new Date();
  var sql = "select * from member_info";
  var rs = stmt.executeQuery(sql);
  Logger.log('SQL:' + sql);
  while(rs.next()){
    Logger.log('['+new Date().toString() + ']' + rs.getString(1) + '::' + rs.getString(2) );
  }
}

Project看起來像這樣:


此時,在工具列選擇要執行的Function後,點選執行按鈕,就可以執行撈取Cloud SQL的動作了...


執行時候會發現Google會跟您要求受權,請user同意讓Script Editor來執行這部份程式,同意後才可以執行...
這部份是說,如果將來把這段程式碼放到Web Service中時候,該Web Service App也需要經過授權才能使用...