【发布时间】:2022-01-17 10:36:44
【问题描述】:
我部署了一个调用 GCP MySQL 实例并返回一些数据的 firebase https 函数。如何在 firebase 函数模拟器中运行此函数?
我将该函数与一个简单的 helloWorld https 函数一起加载到了模拟器中。使用本地 URL (http://localhost:5001/INSTANCE/us-central1/helloWorld) 可以很好地返回。但是,本地运行的 SQL https 函数返回
{"errno":-4058,"code":"ENOENT","syscall":"connect","address":"/cloudsql/(deleted)","fatal":true}
...我删除了实例连接名称。
接下来,我在我的 PC 上运行 gcloud_sql_proxy,它声称正在监听 127.0.0.1:3306。 https 函数继续返回与上面完全相同的错误,所以我不确定模拟函数是通过我的 gcloud_sql_proxy 还是仍在尝试直接连接到云 SQL - 我猜是后者。
我是否还应该重新设置函数本身以使用主机+端口(127.0.0.1、3306)与其当前使用的 unix socketpath 方法进行连接?我希望模拟器会自动执行此操作,这样我就可以避免陷入那个兔子洞,因为云文档只提供了 socketpath 方法。但我确实打算接下来尝试一下。
谢谢。
【问题讨论】:
标签: google-cloud-functions google-cloud-sql firebase-tools