如何在 Firebase 存储中启用和使用文件版本控制?

Pie*_*ier 4 javascript firebase firebase-storage

Firebase 存储基于允许对文件进行版本控制的Google Cloud Platform 。

在 Firebase 控制台中,没有关于 GCP 存储桶的选项,并且在访问 GCP 控制台时,似乎没有办法在与 Firebase 项目相关的存储桶中启用版本控制。

此外,即使启用了版本控制,Firebase SDK 也没有提及如何访问以前版本的文件。

Firebase 存储是否可以进行版本控制?

Mik*_*ald 8

Firebase Storage 基于 GCS 构建,因此可以通过 Firebase Storage 访问 GCS 的许多功能。Firebase Storage 还共享一个名为<project-id>.appspot.com(或类似名称)的 GCS 存储桶,可通过 Firebase 控制台和云控制台访问该存储桶。

您可以使用gsutil工具(可能是最简单的方法)在您的存储桶上启用对象版本控制,如下所示:

gsutil versioning set on gs://<project-id>.appspot.com
Run Code Online (Sandbox Code Playgroud)

也就是说,除了最新版本之外,无法使用 Firebase Storage 客户端来检索任何内容。这是有意为之,因为 Firebase Storage 提供了一个更简单、专注于移动设备的 GCS API 子集,而且我们没有一个超级引人注目的用例来为移动设备提供直观的对象版本控制故事。每个用户的数据备份(由用户在没有开发人员干预的情况下启动)和文档差异是我能想到的两个,但如果你有另一个,我们很乐意听到:)

我们预计大多数开发人员将启用此功能以防止永久删除(实际上,我们在删除文档中提到了这样做),因此将使用诸如gsutil或他们自己的自定义后端之类的工具来检索和恢复适当的文件。

编辑 10/1:由于这些用例变得越来越普遍,我们更新了我们的文档,以在我们的GCP 集成指南 中包含更多您可以使用 Google Cloud Platform 执行的操作。