firebase 每小时备份Firestore数据库

huwehgph  于 2023-06-07  发布在  其他
关注(0)|答案(3)|浏览(163)

我需要每小时备份我的产品服务器Firestore DB。我知道exportDocuments,但它会导致每个导出的文档执行一次读取操作。我有300多万,而且这些数字每天都在增加。
是否可以导出在给定时间段(如过去1小时)内添加/更新的文档?
我已经有了云调度+云发布/订阅+基于功能的备份系统。它正在备份所有文档。这花费太多了。

bvn4nwqk

bvn4nwqk1#

如果您需要在Firestore中调度一些操作,可以考虑使用Cloud Scheduler,它允许您将HTTP请求或Cloud Pub/Sub消息调度到您部署的Cloud Functions for Firebase
如果您需要获取在给定时间段内添加/更新的文档,例如过去1小时,那么不要忘记向文档添加时间戳字段。这样,您就可以根据时间戳字段进行查询。

vaqhlq81

vaqhlq812#

要获取在给定时间段内(如过去1小时内)添加/更新的文档,请向文档添加一个字段,例如lastUpdated,并在每次插入/更新时保持其值为当前值。
然后从备份函数中查询增量文档,如where("lastUpdated", ">", "lastExportTimestamp")lastExportTimestamp是上次导出的时间(可能存储在单独的集合中)。
请看这里的一个例子。
希望这能澄清,否则留下评论。

**P.S.**请注意,如果需要,这种方法可能仍然需要定期进行完整备份(例如每天),以便于恢复过程。

kpbwa7wx

kpbwa7wx3#

在过去的一年里,我一直在开发一个解决方案Slik Protect,以帮助解决这些用例。
它可以用来备份您的Firestore数据库与任何备份频率,你可以选择备份只有选定的集合以及。您可以设置自己的保留策略并随时恢复数据。
对于根据您的使用情形进行的增量备份,我们一直在努力解决此问题,并将其作为产品的一部分。有任何问题都可以找我。

相关问题