Firestore是否对Cloud Function收取Cloud Function的费用以获取每个检索到的文档?

时间:2018-08-31 07:49:58

标签: firebase google-cloud-firestore google-cloud-functions

在第二种情况下,Firebase在第一种情况下会收取更多费用吗??

collection().get() // potentially retrieves infinite documents

collection().limit(smallerAmount).get() // only retrieve a smaller amount of documents

documentation, there is some none billed traffic within GCP中,但是我不确定这是否适用于 Firestore 读取请求
我假设计费与我的客户对于云功能来说相同 ,并且通过get()调用检索的文档越多,得到的收费。

2 个答案:

答案 0 :(得分:1)

您的问题是问几个彼此之间没有真正联系的问题。

首先,文档读取与出口和入口不同。读取文档是简单地执行要求在Firestore中访问文档的查询的结果。它没有考虑发送该文档内容所需的网络数据量(称为出口)。

第二,出口仅通过从云服务传输的字节数来衡量。当数据停留在某个区域内时,可能不会向出口收取费用-文档将很清楚。出口与文档读取的计费无关。

第三,无论请求来自何处,文档读取都是收费的。将其视为使用Firestore索引快速进行查询的成本。它与出口无关,而与满足查询条件所必须触摸的文档数量有关。

第四,任何查询比其他查询读取更多文档,将花费更多。您只需为必须将文档内容传输到客户端的文档读取操作付费。

答案 1 :(得分:0)

是的,与第二种情况相比,第一种情况要收取更多钱。

如您所指的文档中所述(即https://firebase.google.com/docs/firestore/pricing#operations):

  

当您收听查询结果时,会向您收取阅读费用   每次添加或更新结果集中的文档时。你是   从结果集中删除文档时,也会收取读取费用   因为文档已更改。 (相反,当文档是   删除,则无需支付阅读费用。)

由于在第二种情况下结果集较小(因为您使用limit()),因此将向结果集中添加更少的文档。

对于Cloud Functions读取Firestore数据的情况,如果Cloud Function的区域与Firestore所在的区域不同(并且不在同一多区域中),则您需要为地区。再次查看您引用的文档以及https://firebase.google.com/docs/functions/locations#selecting_regions_for_firestore_and_storage


更新,来自下面的评论

有关Cloud Functions和Firestore之间的连接:

一个区域内的出口->免费,同一多区域内的区域之间的出口->免费,区域之间的出口(同一多区域内的NOT)->不是免费的,如果美国与美国之间价格不同。有关各个区域的详细信息,请参见https://firebase.google.com/docs/functions/locations#selecting_regions_for_firestore_and_storage底部的表格

请注意,目前,对于Firestore,唯一可用的多区域位置是我们中心,请参见https://firebase.google.com/docs/firestore/locations