我正在嘗試使用Firebase的云端函數(shù)來構(gòu)建與Google云端SQL(PostgreSQL)實例對話的API。如何通過Cloud Functions for Firebase與Google Cloud SQL進行交流?
林苗苗從Cloud連接到Cloud SQL目前不支持UNIX函數(shù),因為UNIX套接字不存在(導(dǎo)致ENOENT),并且沒有定義的IP范圍白名單(導(dǎo)致ETIMEDOUT)。一種可能性是將Cloud SQL實例的0.0.0.0/0列入白名單,但出于安全原因不建議這樣做。
如果這是你的一個重要功能,我建議你訪問issuetracker并為其提供功能請求以幫助它獲得普及。
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
});};