这是我的谷歌云功能:
async function getPSQLdata() {
const pg = require('pg');
var pgConfig = {
user: 'postgres',
password: '[MY PASSWORD]',
database: '[MY DB NAME]',
host: '[PUBLIC IP ADDRESS OF DB INSTANCE]'
};
var pgPool;
if (!pgPool) {
pgPool = new pg.Pool(pgConfig);
}
const scores = await pgPool
.query("SELECT * from table")
.then(res => console.log(res.rows[0]))
.catch(e => console.error(e.stack));
}
exports.dailyFill = async function main() {
await getPSQLdata();
};
谷歌云记录说:;函数执行耗时60003毫秒,以"超时"状态结束;。
到目前为止我尝试过的:
- 我已经在GCP项目中启用了云SQL管理API
- 我已经在GCP项目中启用了云SQL API
- 我已经将谷歌云功能服务帐户添加到IAM作为角色";云SQL客户端";以及";项目编辑">
Cloud函数提供了一种通过Cloud SQL Proxy连接到DB的方法,请参阅此处的详细信息https://cloud.google.com/sql/docs/mysql/connect-functions#public-ip-default_1这是首选方法。
关键区别在于,您将使用以下而不是定义host
socketPath: '/cloudsql/INSTANCE_CONNECTION_NAME'