我一直在阅读这篇关于直接读取实时数据库与调用返回数据库数据的云函数的文章。
如果我返回相当大的数据 block ,例如保存表示来自云函数的 50 个用户评论的数据的 json 对象执行此计数 作为出站数据(Egress)数据?如果是这样,每月每 GB 的费用为 0.12 美元吗?
评论的存储方式与增量 key 类似。
comments: [0 -> {text: “Adsadsads”},
1 -> {text: “dadsacxdg”},
etc.]
此外,我读到您可以使用客户端 sdks 调用 goOffline() 和 goOnline() 来停止并发连接。是否有任何与关闭和关闭相关的费用? 打开数据库连接还是只是每次阅读时打开连接的速度方面?
调用返回 50 条评论的云函数或允许设备直接从数据库读取评论会更划算吗 但是在每次读取数据库之前/之后使用 orderByKey()、once()、startAt() 和 limitToFirst() 打开/关闭?
例如这样的事情
ref(‘comments’).once().orderByKey().startAt(0).limitToFirst(50).
谢谢
最佳答案
如果您的云函数从实时数据库读取数据并将该数据(部分)返回给调用者,则您需要为从数据库读取的数据付费(按 1 美元/GB),然后还要为您的云函数支付的数据付费。函数返回给用户(价格为 0.12 美元/GB)。
打开与数据库的连接意味着数据从数据库发送到客户端,并且您需要为此数据付费(通常为几KB)。
一旦掌握了所有参数,您就可以计算出哪一个更具成本效益。不过,我建议不要过早进行成本优化:Firebase 在其实时数据库上有相当慷慨的免费套餐,因此我会开始直接从数据库读取并查看生成的流量。另外:如果您明确管理连接状态,并且似乎对 Firebase 的实时性不感兴趣,那么可能有比 Firebase 更好/更便宜的替代方案来满足您的需求。
关于firebase - 直接读取实时数据库 VS 使用 Cloud Functions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64194640/