Cloud Function无法与Cloud SQL连接

时间:2018-05-23 06:03:10

标签: google-cloud-functions google-cloud-sql

这是我的节点js代码

var mysql = require('mysql');

exports.helloGET = (req, res) => {

console.log(req.body.message);

var con = mysql.createConnection({
      //socketPath: '/cloudsql/' + 'project-id:region-name:instance',
      host: 'xxx.xxx.xxx.xxx',
      user: 'user',
      password: 'root',
      database: 'test'
    });

    con.connect(function(err) {
        console.log("Connection Error - " + err)
        if (err) throw err;
        console.log("Connected to Cloud SQL");
    });

    con.query(`SELECT now()`, null, function (err, result) {
        //made reply here
        console.log("Query Error - " + err)
        if (err) throw err;
        console.log("Result: " + result);
    });

con.end();
res.status(200).send('Acknowledgement : ' + req.body.message);
};

错误:连接ETIMEDOUT xxx.xxx.xxx.xxx:3306

我尝试使用socketPath而不是host -

var con = mysql.createConnection({
      socketPath: '/cloudsql/' + 'project-id:region-name:instance',
      //host: 'xxx.xxx.xxx.xxx',
      user: 'user',
      password: 'root',
      database: 'test'
    });

为此我得到了 - 错误:连接ECONNREFUSED

1 个答案:

答案 0 :(得分:1)

目前不支持该功能。但是,您可以在问题跟踪器#36388165中按照功能请求打开。

就像Jason Polites的this comment中提到的那样,您可以填写此早期访问表单,以便从Cloud Function访问Cloud SQL。