如何获取当前的ProjectId insde Google Cloud Function?

Que*_*wer 5 google-cloud-datastore google-cloud-platform google-cloud-functions

问题很简单。我需要projectId才能建立insde Google Cloud Function的连接。我在说明文件中找到了该文件,该projectId是可选参数,可以从GCLOUD_PROJECT中进行检查,但是在已部署的功能上却无效。

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

更新1

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

小智 5

您可以获得项目 ID 作为const projectId = process.env.GCP_PROJECT. 但由于某种原因,运行模拟器时未设置环境变量“GCP_PROJECT”。相反,应选择已弃用的变量名称“GCLOUD_PROJECT”。所以你可以尝试一下它们。

const projectId = process.env.GCP_PROJECT || process.env.GCLOUD_PROJECT
Run Code Online (Sandbox Code Playgroud)

  • 不幸的是,根据 https://cloud.google.com/functions/docs/env-var#newer_runtimes,这不适用于较新的环境 (3认同)

Que*_*wer 1

正如我在更新 1 中所写,我们可以从process.env变量中获取有关环境的所有信息。

关于@google-cloud/datastore配置对象的第二个问题,它实际上可以在没有任何选项的情况下工作。它将尝试从环境变量中获取所有必需的参数。因此,由于我的代码中的错误,它不起作用。