当前位置: 首页 > 知识库问答 >
问题:

函数/区域配置值在Firebase云函数中实际起什么作用?

诸修伟
2023-03-14

默认情况下,Firebase云功能部署到美国中部地区,但我想将其部署到欧洲西部地区。

我假设通过gcloud cli设置默认区域意味着,如果我删除并重新部署了我的云功能,它们将自动部署到我指定的默认区域。然而事实并非如此。相反,我需要在代码中为每个函数显式设置区域,如下所示:

export const onDocumentCreated = functions.region('europe-west2').firestore.document('/some/collection/{id}').onCreate(async (snapshot) => {
    // some code
});

我的问题是,如果通过gcloud cli指定默认区域并不能确定您的功能部署到哪个区域,那么它实际用于什么?

gcloud config set命令只是说:

使用云功能资源时要使用的默认区域。当需要--region标志但未提供时,如果设置了,该命令将返回到此值。要查看有效选项,请运行gcloud beta functions regions list。

它没有给出关于什么类型的操作涉及--region标志或该标志的用途的上下文。

共有1个答案

王高超
2023-03-14

gcloud中的设置不会影响Firebase CLI的工作方式。它们是完全独立的工具。在gcloud中设置默认区域只会影响gcloud本身的工作方式。

设置函数区域的唯一方法是您现在在代码中执行的操作。这在文档中有介绍。

 类似资料:
  • 我在两个不同的地方创建了两个项目。比如美国中部和亚洲东北部。现在,对于这两个不同的项目,我想在各自的区域部署云功能。 我如何在环境变量或process.env中获取项目区域值,以便我可以使用它在云函数中设置该区域。

  • 在我正在开发的Firebase web应用程序中,我想从邮件地址获取用户ID。为此,我正在尝试编写一个云函数。但它不起作用,或者我没有正确使用它。以下是当前代码(基于我在网上找到的一些示例): 运行“firebase deploy”时,我看不到任何问题。然后,我尝试用各种方法测试该功能,就像我在本教程之后编写的演示应用程序一样。 例如(现有和不存在的邮件地址): 但在任何一种情况下,我都不会在We

  • 我试图部署一个PubSub函数: 在我第一次尝试部署该功能之前,云调度API被禁用。 它自动启用了。 PubSub也已启用。 由于Cloud Scheduler API和PubSub已经为项目启用。理想情况下,在部署函数时不应该有任何错误。错误确实提到了几分钟后尝试。但是自从我启用PubSub和Cloud Scheduler API以来,已经过去了24小时。 节点:v12。10 Firebase函

  • 我正在寻找部署一个用TypeScript编写的云函数,使用一个火力恢复触发器。脚本工作没有任何问题。然而,我需要指定执行区域,为了尊重我的RGPD,我需要在欧洲西部1执行的函数。我已经看了关于这个主题的留档,它被指定在函数中添加“。区域”,但是这会产生一个错误,你会发现附加的。获得的错误是"错误TS2339:属性'区域'在类型'DocumentBuilder上不存在。我想指出,我在本地VSC中没有

  • 我有多个云函数使用一个值,基本上是这样的: 问题是我想要更改页脚内容(由返回),但为了这样做(就我所研究的),我首先必须在代码中更改它,然后部署使用的每个云函数(和),这样页脚在每种类型的电子邮件上看起来都是一样的。 当然,我可以使用同时部署所有函数,但是我们曾经是多个开发人员,我们中的一些人将函数更新到我们不知道index.js中哪些函数与GCP中的相同(大约20个函数),我必须检查每一个函数,

  • 问题内容: 今天,当我发现一段Python代码使用内置函数 作为变量标识符来存储列表推导的结果并且没有引发错误时,我偶然发现了这一点,因此我尝试了以下操作: 希望当我问为什么在Python中允许这种行为时,这是一个有效的问题。 或者更好的是,如何确保内置函数的确是真实的而不是不说,因此不会被偶然评估? 问题答案: Python希望您对您的代码负责,这就是为什么。Python没有私有属性,没有受保护