Firebase的Blaze计划有没有限制的方法?

56

我目前在一款社交网络应用中工作,需要开发搜索功能。Firestore不支持这种查询,因此我需要使用像Algolia这样的外部服务。

问题在于免费计划不支持连接到除谷歌自己的网站/API之外的外部网站/ API,因此我无法连接到Algolia以使我的搜索系统正常工作。

我已经阅读了许多有关开发人员因代码中的循环或错误而支付高额账单的故事,而Blaze计划是按量付费的计划,他们将根据实际使用量收费。如果循环生成10TB的文件,则他们将为此付费。

我也知道,只要每个功能(单独)都保持在免费Spark计划的限制范围内,Blaze计划的功能就是免费的。

因此,如我的问题所述,是否存在设置限制的方法?例如,我想告诉Firebase将我的云函数调用次数限制为每月100k次。这样它就是免费的,我永远不会超过100k,因为它受到限制,这意味着我永远不会因此收费。

请注意,现在唯一需要从付费计划中获得的东西是与外部网络的连接。我们刚开始,应用程序还没有投入生产,因此没有需要大量限制的必要。


2
我认为对于像将内容镜像到Algolia这样的事情,很难写出意外循环。只有当您有一个触发器执行某些操作以触发自身(例如写回数据库的数据库触发器)而没有检测到适当的退出条件并尽早终止时,才会发生意外循环。如果您只想复制数据库外的数据,并且永远不想写回数据库,则编写循环的机会为0。 - Doug Stevenson
1
我完全同意你的看法。但是我们将使用许多Firestore工具,不仅仅是外部连接。我们已经在不断地使用函数、数据库、存储,并且很快我们将扩展它们并更多地使用它们。这就是我担心意外循环可能发生的地方,特别是考虑到这是我们第一次使用Firebase和大规模的后端开发。如果我们现在有一个循环,我们将受到免费计划的限制,而且我们不会收到账单。但是,如果它发生在Blaze计划中,即使我们可以“取消”它,这也会非常烦人。 - Franco Muñiz
我不确定我是否理解了“暂存区”概念。我需要使用Firebase来测试我的项目。由于这是一个社交网络,所以一切都是相互连接的。我在Firestore数据库中有用户及其所有数据,在Storage中有他们的图像/视频,当然我使用Auth,然后我使用Functions,现在我想要一个付费计划来消除与其他工具相关的网络限制。如果没有Blaze计划,但又想使用“外部网络”功能,该如何设置暂存区呢?不确定是否可能。 - Franco Muñiz
啊,现在我明白了。Blaze计划的免费层也会很有用。谢谢你的建议!我会尽快开始应用它。 - Franco Muñiz
3
你知道为什么 Google 禁用了“消费限制”吗? - Amit Klein
显示剩余6条评论
4个回答

28
每个Firebase项目也是一个Google Cloud Platform项目。这意味着许多Google Cloud Platform的高级功能也适用于您的Firebase项目。
例如,您可以为Firebase项目设置计费警报,以便在使用量达到某个水平时收到警报。虽然您不能将其配置为在某个时间点关闭项目,但警报通常非常适合提醒您不寻常的使用模式。
有关更多信息,请参见:
- 最近博客文章中的跟踪预算支出。 - GCP文档上如何设置预算警报, 这就是Firebase在后台使用的内容。
GCP文档现在还有一个限制(禁用)计费以停止使用的章节。这是一种粗暴的方法,可能会导致数据丢失,因此我建议首先调查所有其他选项。

更新(2020年12月):Firebase的Todd Kerpelman刚刚发布了一系列视频,演示如何使用上述文档中提到的流程禁用计费


6
根据您提供的链接,账单警报以及限额似乎可能会被延迟几天! “产生费用和接收预算通知之间可能会有几天的延迟。由于资源使用和活动计费之间存在延迟,您可能会因为某些尚未到达的使用而产生额外费用,即使所有服务已停止。 按照本限额示例中的步骤并不能保证您不会超出预算。” - Bob

13

64
难以置信。保护Firestore客户免受破产(由人为错误或DDOS攻击引起)的功能已经存在。但是谷歌将其移除了! - Sébastien
@Sébastien,您能否提供一下他们拥有并删除它的来源? - Daniyel.Me
4
@Daniyel.Me,源代码在上面的回答中。以前可以设置“硬性”支出限制。这就是我所需要的,但现在已经消失了。 - Sébastien

5
这里的截图似乎显示了Firebase项目的“消费限制”设置:Firebase: Budget and Daily Spending Limit
该设置页面位于此处(似乎只有在为项目设置计费后才会显示“消费限制”设置):https://console.cloud.google.com/appengine/settings
在发帖人的情况下,它被禁用,但我认为这仅是因为他将其连接到了“NodeJS App Engine app”,这并非适用于许多Firebase开发者。
我自己还没有尝试过,但一旦开始付费计划,我就会这样做。
编辑:是的,一旦切换到付费计划,该设置就会出现。(在我的情况下是Blaze)我还没有足够的流量来确认它是否按预期工作,但如果我后来发现它不起作用,我会在此处更新。

我可以将其设置为$0,但不确定是否有效,因为我还没有使用该帐户超出免费限制的次数。 - MadMac
4
支出限制已被取消。重要提示:Cloud Firestore不再支持新的App Engine支出限制。自2019年12月12日起,您将无法申请新的App Engine支出限制。在此日期之前设置的支出限制仍然有效。 - MadMac

2
这个例子向你展示了如何通过禁用 Cloud Billing 来限制项目费用并停止使用。这将导致所有 Google Cloud 服务终止该项目的非免费层使用。

Google Cloud Source


4
他们让禁止-停止-限制使用次数变得复杂。这不是我对谷歌的期望。 - zacoder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接