You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cloud Functions连接AlloyDb报错ECONNREFUSED求助排查

连接AlloyDB到Cloud Functions时遭遇ECONNREFUSED错误,求排查遗漏配置

背景

我参照Google Cloud官方的PostgreSQL连接Cloud Functions文档操作,但文档里没提Cloud Functions必须创建连接器——而这步实际是必要的。目前helloworld示例能正常运行,但尝试连接AlloyDB查询用户数据时,出现了连接拒绝错误。

报错信息

Error: connect ECONNREFUSED 127.0.0.1:543

已完成的配置

  • 环境变量设置:
INSTANCE_UNIX_SOCKET : /cloudsql/{my-project-id}:us-east4:quickstart-instance 
DB_NAME: {db_name}
DB_USER: {db_user}
DB_PASS: {my_pwd}
  • 已将Runtime服务账号配置为拥有AlloyDb_Admin权限的账号

函数代码

package.json

{
  "dependencies": {
   "@google-cloud/functions-framework": "^3.0.0",
   "knex": "3.1.0",
   "pg": "8.11.5"
 }
}

index.js

const Knex = require('knex');

functions.http('getUsers', async (req, res) => {

    const createUnixSocketPool = async config => {

        return Knex({
            client: 'pg',
            connection: {
            user: process.env.DB_USER, // e.g. 'my-user'
            password: process.env.DB_PASS, // e.g. 'my-user-password'
            database: process.env.DB_NAME, // e.g. 'my-database'
            host: process.env.INSTANCE_UNIX_SOCKET, // e.g. '/cloudsql/project:region:instance'
            },
            ...config,
        });
    };

    const knex = await createUnixSocketPool()

    knex('users').select('*')
    .then(rows => {
        console.log(rows);
    })
    .catch(err => {
        console.error(err);
    });
}); 

相关配置截图

  • 网络配置:网络配置
  • 连接器详情:连接器详情
  • 默认防火墙配置:默认防火墙配置

请问我还可能遗漏了哪些配置?

内容的提问来源于stack exchange,提问作者bstras21

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 10:05:09