我正在尝试使用Cloud Functions for Firebase构建与Google Cloud SQL(PostgreSQL)实例通信的API。

我正在使用HTTP(S)触发器。

当我将桌面的IP地址列入白名单时,我可以使用本地计算机中该函数的node.js代码连接到Cloud SQL。但是,当我部署时,我无法连接,也无法弄清Firebase Function服务器的主机IP地址,将其列入白名单。

您如何通过Cloud Functions for Firebase与Google Cloud SQL交流?

谢谢!

// Code Sample, of what's working on Localhost.
var functions = require('firebase-functions');

var pg = require('pg');
var pgConfig = {
  user: functions.config().pg.user,
  database: functions.config().pg.database,
  password: functions.config().pg.password,
  host: functions.config().pg.host
}

exports.helloSql = functions.https.onRequest((request, response) => {
  console.log('connecting...');
  try {
    client.connect(function(err) {
      if (err) throw err;

      console.log('connection success');
      console.log('querying...');

      client.query('SELECT * FROM guestbook;', function(err, result){
        if (err) throw err;

        console.log('querying success.');
        console.log('Results: ', result);
        console.log('Ending...');

        client.end(function(err){
          if (err) throw err;
          console.log('End success.');
          response.send(result);
        });
      });

    });
  } catch(er) {
    console.error(er.stack)
    response.status(500).send(er);
  }
});

最佳答案

新答案:

查看其他答案,现已正式支持。 https://cloud.google.com/functions/docs/sql

旧答案:

目前不可能。但是,这是对问题跟踪程序#36388165的功能请求:



如果这对您来说是一项重要功能,建议您访问issuetracker并为该功能请求加注星标,以帮助其广受欢迎。

10-07 19:51
查看更多