Cloud Firestore 文件同步

Cloud Firestore file syncing

Cloud Firestore/Firebase 同步文档的能力非常棒。但是,我有一个有趣的用例,我想知道该平台是否可以提供帮助。我有镶木地板文件,希望能够 同步到中央服务器 —— 也可能是其他用户 。这些是大型二进制文件,例如 100MB 左右的 parquet 文件。

文档的最大大小为 1 MiB。有没有其他方法可以完成我想用 Firebase 做的事情(我想将文件分成多个 1MB 的部分?)或者这似乎是我想做的事情的错误工具?

我认为您混淆了 Cloud Firestore (one of the NoSQL dbs offered by Firebase/GCP) and Cloud Storage 的限制,objects/file 存储的服务。

云存储中存储的 maximum size limit for individual objects 为 5 TiB。当然,从网络或移动应用程序上传这样的文件可能没有意义,但这更多是一种功能限制。

因此,您可以很好地使用 Cloud Storage 上传大文件,并将每个 Cloud Storage 文件关联到一个 Firestore 文档,其中包含例如下载 URL。这样您就拥有了文件共享系统的基本功能:存储基于 Cloud Storage,Firestore 包含指向文件的文档,并根据这些文档处理协作文件共享部分。.


要关联 Cloud Storage 文件和 Firestore 文档,您可以采用多种策略,具体取决于您的具体用例:

  • 使用 Firestore 文档 ID 作为文件名;
  • 存储Cloud Storage路径and/or下载URL到Firestore文档中;
  • 将文件存储在以 Firestore 文档 ID 命名的文件夹中
  • ...