Cloud Function から Cloud SQL を使う方法

Cloud Functions for Firebase から Cloud SQLMySQL)を使いたかったのですが、現状公式でトリガーが用意されていませんでした :cry:

Cloud Functions for Firebase  |  Firebase

調べたところ、nodejsのmysqlライブラリを使えばできました。

const mysql = require("mysql");

exports.handler = function handler(req, res) {
  const c = mysql.createConnection({
    socketPath: "/cloudsql/" + "$PROJECT_ID:$REGION:$DBNAME",
    user: "$USER",
    password: "$PASS",
    database: "$DATABASE"
  });
  
  c.connect();
  c.query(`SELECT * FROM table`, (e, results) => {
    // callback
  })
}

参考:

stackoverflow.com