如何获得当前的projectId insde Google Cloud功能?

时间:2017-04-05 12:46:26

标签: google-cloud-datastore google-cloud-platform google-cloud-functions

问题很简单。我需要projectId才能与Google Cloud功能建立连接。我找到documentation所说的那个,projectId是可选参数,将从GCLOUD_PROJECT检查,但在部署的函数上它不起作用。

现在问题是如何获取projectId env变量以将其作为Datastore连接实例的参数传递,或者应该做些什么来不传递此ID并在Google Cloud Function中建立与数据存储的连接?

更新1

我发现我实际上可以从process.env.GCLOUD_PROJECT获取变量,就像任何其他env.variable一样。 但是,知道是最后一个问题,实际上是否可以在没有任何配置对象的情况下使用@ google-cloud / datastore?

3 个答案:

答案 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