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

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

林桓 2020-09-14 提問
438

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

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

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

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

回答于 2020-09-14
贊同
評(píng)論
Nigel

我也只在mysql中測(cè)試。

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

我實(shí)際上可以從下面的云功能代碼連接和操作云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
贊同
評(píng)論
掃碼關(guān)注
獲取更多出海問答的相關(guān)信息
個(gè)人VIP
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家