相关疑难解决方法(0)

从 Firebase 函数使用 Cloud SQL 代理

我在本地运行 Google 的Cloud SQL 代理,它使用如下命令处理本地提供的 Firebase 函数:

/cloud_sql_proxy -instances=my-project-12345:us-central1:my-instance=tcp:1433
Run Code Online (Sandbox Code Playgroud)

但是我真的不知道如何在部署的 Firebase 函数上进行这项工作。

export const typeOrmConnectionOptions: ConnectionOptions = {
  name: 'primary',
  type: 'mssql',
  host: '127.0.0.1',
  port: 1433,
  username: 'sqlserver',
  password: 'my$trongPa$$word',
  database: 'TestDB',
  synchronize: true,
  logging: true,
  entities: ['lib/entity/**/*.js'],
  ...(prod && {
    extra: {
      socketPath:
        '/cloudsql/my-project-12345:us-central1:my-instance=tcp',
      credential_file: './admin-service-account-file-long-a1b2c3-hash.json'
    }
  })
};
Run Code Online (Sandbox Code Playgroud)

就将凭证文件作为 extras 对象的一部分传递给 TypeORM 的连接对象而言,我真的是在黑暗中拍摄,但是我觉得必须有这样的事情才能链接我在下面创建的服务帐户 此步骤后到数据库查询。

我的另一个远见是使用环境变量来设置使用此 JSON 文件的凭据:

process.env.GOOGLE_APPLICATION_CREDENTIALS = fs.readFileSync(
  './admin-service-account-file-long-a1b2c3-hash.json',
  'utf8'
)
Run Code Online (Sandbox Code Playgroud)

没有喜悦。

我不认为错误消息有多大帮助,因为我确定我尝试这样做的方式从根本上是不正确的,但是对于它的价值,上面得到了错误

"Failed to connect to 127.0.0.1:1433 - connect ECONNREFUSED …
Run Code Online (Sandbox Code Playgroud)

javascript node.js google-cloud-sql firebase google-cloud-platform

5
推荐指数
1
解决办法
652
查看次数