问题很简单。我需要projectId才能与Google Cloud功能建立连接。我找到documentation所说的那个,projectId是可选参数,将从GCLOUD_PROJECT检查,但在部署的函数上它不起作用。
现在问题是如何获取projectId env变量以将其作为Datastore连接实例的参数传递,或者应该做些什么来不传递此ID并在Google Cloud Function中建立与数据存储的连接?
更新1
我发现我实际上可以从process.env.GCLOUD_PROJECT获取变量,就像任何其他env.variable一样。 但是,知道是最后一个问题,实际上是否可以在没有任何配置对象的情况下使用@ google-cloud / datastore?
答案 0 :(得分:1)
正如我在更新1中所写,我们可以从 process.env 变量中获取有关环境的所有信息。
关于 @ google-cloud / datastore 的配置对象的第二个问题,它实际上可以在没有任何选项的情况下工作。它将尝试从环境变量中获取所有必需参数。因此,我的代码中没有错误的工作。
答案 1 :(得分:1)
您可以获得的项目ID为const projectId = process.env.GCP_PROJECT
。
但是由于某种原因,运行仿真器时未设置环境变量“ GCP_PROJECT”。取而代之的是,不建议使用的变量名“ GCLOUD_PROJECT”。因此,您可以同时尝试它们。
const projectId = process.env.GCP_PROJECT || process.env.GCLOUD_PROJECT
答案 2 :(得分:-1)
使用 firebase deploy
进行部署时:
functions.config().firebase.projectId
functions.config().firebase.databaseURL
functions.config().firebase.storageBucket
functions.config().firebase.locationId