gpt4 book ai didi

谷歌云上的 Node.JS 运行云 SQLError : connect ENOENT/cloudsql/

转载 作者:行者123 更新时间:2023-12-03 22:18:59 28 4
gpt4 key购买 nike

我无法将 cloudrun 服务连接到 cloudsql。
我正在使用 Sequelize,这是我的连接部分!

  let sequelize = new (<any> Sequelize) (
DATABASE_DATABASE,
DATABASE_USERNAME,
DATABASE_PASSWORD,
{
dialect: 'postgres'
dialectOptions: {
socketPath: `/cloudsql/${DATABASE_HOST}`,
supportBigNumbers: true,
bigNumberStrings: true
},
host: `/cloudsql/${DATABASE_HOST}`,
port: DATABASE_PORT,
logging: false,
},
);
PS:显然一切都配置正确,也就是说,
cloudsql服务连接到具体的cloudrun服务,
它们在同一个区域,AMI 已发布...
我不成功的尝试是:
  • 上面的代码片段返回:Error: connect ENOENT/cloudsql/ ,
  • 如果我将主机更改为 127.0.0.1 = 连接被拒绝 127.0.0.1:5432,
  • 将 native 属性放在连接中:true = 错误:找不到连接
  • PG 的直接连接尝试 = 错误:连接 ENOENT/cloudsql/
  • 我创建了另一个项目,其他权限和错误继续
  • 我更改了区域,错误仍然存​​在

  • 另一种尝试是:
    我尝试在 cloudsql 中未启用私有(private) IP 连接的服务器的情况下创建 VPC,但在 cloudrun 中出现超时
    我剩下的是让cloudsql公共(public)网络访问0.0.0.0/0并且应用程序工作正常。
    我没有想法,需要帮助使用/cloudsql/进行连接

    最佳答案

    Cloud Run 通过 Unix 套接字连接到 Cloud SQL。
    您需要在套接字路径中使用实例连接名称,而不是主机 IP 地址。这将遵循格式 project-name:region-name:instance-name .您可能还需要附加后缀 s.PGSQL.5432 .完整的套接字路径应类似于 "/cloudsql/project-name:region-name:instance-name.s.PGSQL.5432"如果您使用的是套接字路径,则可以删除 hostport连接参数

    关于谷歌云上的 Node.JS 运行云 SQLError : connect ENOENT/cloudsql/<instancename. ..>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67317271/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com