如何從云端函數(shù)連接Google Cloud SQL?
我來答

如何從云端函數(shù)連接Google Cloud SQL?

林桓 2020-09-14 提問
412

我正在嘗試使用Firebase的云端函數(shù)來構(gòu)建與Google云端SQL(PostgreSQL)實例對話的API。如何通過Cloud Functions for Firebase與Google Cloud SQL進行交流?

關(guān)閉
提交回答
2 個回答
我來答
林苗苗

從Cloud連接到Cloud SQL目前不支持UNIX函數(shù),因為UNIX套接字不存在(導(dǎo)致ENOENT),并且沒有定義的IP范圍白名單(導(dǎo)致ETIMEDOUT)。一種可能性是將Cloud SQL實例的0.0.0.0/0列入白名單,但出于安全原因不建議這樣做。

如果這是你的一個重要功能,我建議你訪問issuetracker并為其提供功能請求以幫助它獲得普及。

回答于 2020-09-14
贊同
評論
Nigel

我也只在mysql中測試。

在https://issuetracker.google.com/issues/36388165#comment44,云功能實例可以通過特定路徑'/cloudsql/$PROJECT_ID:$REGION:$DBNAME'中的域套接字與云端數(shù)據(jù)庫交談。

我實際上可以從下面的云功能代碼連接和操作云SQL:

var mysql = require('mysql');exports.handler = function handler(req, res) {
    var c = mysql.createConnection({
      socketPath: '/cloudsql/' + '$PROJECT_ID:$REGION:$DBNAME',
      user     : '$USER',
      password : '$PASS',
      database: '$DATABASE'
    });
    c.connect();
    c.query(`SELECT * FROM table where id = ?`, 
                                req.body.id, function (e, results) {
        //made reply here
    });};
回答于 2020-09-14
贊同
評論