为什么我一直看到警告 "Estimating config based on GCLOUD_PROJECT"
Why do I keep seeing warning "Estimating config based on GCLOUD_PROJECT"
这个警告让我很困惑。我知道当你调用不带参数的 initializeApp 时会出现它,我知道在这种情况下警告是非常合适的。
基于项目 ID 的配置对我的项目有效,因此为了避免警告,我在传递之前明确地形成了这个配置,如下所示:
// GCP_PROJECT seems to be required for cloud-functions where GCLOUD_PROJECT is missing
const projectId = process.env.GCP_PROJECT || process.env.GCLOUD_PROJECT;
assert(projectId, "Missing GCP_PROJECT or GCLOUD_PROJECT env variable");
const firebaseConfig = {
authDomain: `${projectId}.firebaseapp.com`,
databaseURL: `https://${projectId}.firebaseio.com`,
projectId,
storageBucket: `${projectId}.appspot.com`,
};
Firebase 继续给我同样的警告,我看不出这是什么原因。
此代码在云函数的上下文中和之外使用。如果来自 Google 的任何人正在收听,我认为在文档中清楚地概述 GCP 中的各种组件在这些环境变量方面的差异是很有用的:
GCP_PROJECT
、GCLOUD_PRJOJECT
和 GOOGLE_CLOUD_PROJECT
。不久前我读到一篇文章提到 GCLOUD_PRJOJECT
已被弃用,但它似乎仍在使用中。
我使用的是 firebase-admin 版本 10,但行为与 9 AFAIK 相同。
IIRC,由于缺少 FIREBASE_CONFIG
环境变量,所以记录了该警告。 FIREBASE_CONFIG
是一个 JSON 格式的字符串,包含带有 projectId
、databaseUrl
和 storageBucket
.
的配置对象
配置对象如下所示:
{
"databaseURL": "https://an-example.firebaseio.com",
"projectId": "an-example",
"storageBucket": "an-example.appspot.com"
}
由于可以通过替换项目 ID 推断出上述对象,因此即使它已被弃用,它仍作为后备实现。在现代 Google Cloud Function 运行时中,GCLOUD_PROJECT
甚至不存在,因此警告是为了帮助您在部署代码之前提醒您注意问题。
这个警告让我很困惑。我知道当你调用不带参数的 initializeApp 时会出现它,我知道在这种情况下警告是非常合适的。
基于项目 ID 的配置对我的项目有效,因此为了避免警告,我在传递之前明确地形成了这个配置,如下所示:
// GCP_PROJECT seems to be required for cloud-functions where GCLOUD_PROJECT is missing
const projectId = process.env.GCP_PROJECT || process.env.GCLOUD_PROJECT;
assert(projectId, "Missing GCP_PROJECT or GCLOUD_PROJECT env variable");
const firebaseConfig = {
authDomain: `${projectId}.firebaseapp.com`,
databaseURL: `https://${projectId}.firebaseio.com`,
projectId,
storageBucket: `${projectId}.appspot.com`,
};
Firebase 继续给我同样的警告,我看不出这是什么原因。
此代码在云函数的上下文中和之外使用。如果来自 Google 的任何人正在收听,我认为在文档中清楚地概述 GCP 中的各种组件在这些环境变量方面的差异是很有用的:
GCP_PROJECT
、GCLOUD_PRJOJECT
和 GOOGLE_CLOUD_PROJECT
。不久前我读到一篇文章提到 GCLOUD_PRJOJECT
已被弃用,但它似乎仍在使用中。
我使用的是 firebase-admin 版本 10,但行为与 9 AFAIK 相同。
IIRC,由于缺少 FIREBASE_CONFIG
环境变量,所以记录了该警告。 FIREBASE_CONFIG
是一个 JSON 格式的字符串,包含带有 projectId
、databaseUrl
和 storageBucket
.
配置对象如下所示:
{
"databaseURL": "https://an-example.firebaseio.com",
"projectId": "an-example",
"storageBucket": "an-example.appspot.com"
}
由于可以通过替换项目 ID 推断出上述对象,因此即使它已被弃用,它仍作为后备实现。在现代 Google Cloud Function 运行时中,GCLOUD_PROJECT
甚至不存在,因此警告是为了帮助您在部署代码之前提醒您注意问题。