获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

自动备份

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

Blaze计划用户可以设置他们的 Firebase 实时数据库以进行自动备份,这是一种自助服务功能,可以每天将 JSON 格式的数据库应用程序数据和规则备份到Cloud Storage 存储桶。

设置

首先,请访问 Firebase 控制台数据库部分中的备份选项卡,向导将指导您设置自动备份。

为了节省存储成本,我们默认启用Gzip压缩,您可以选择在存储桶上启用30 天生命周期策略,以自动删除超过 30 天的备份。

您可以直接在 Firebase 控制台中查看状态和备份活动,您还可以在其中启动手动备份。这对于拍摄特定的定时快照或作为执行任何代码更改之前的安全操作很有用。

设置完成后,将为您创建一个具有 Firebase 的WRITER 权限的新 Cloud Storage 存储桶。您不应该将数据存储在您不满意 Firebase 有权访问的此存储桶中。 Firebase 将无法额外访问您的其他 Cloud Storage 存储桶或 Google Cloud 的任何其他区域。

从备份恢复

要从备份恢复 Firebase,请先将文件从 Cloud Storage 下载到本地磁盘。这可以通过单击备份活动部分中的文件名或从 Cloud Storage 存储桶界面来完成。如果文件是 Gzip 压缩的,请先解压缩文件。

您可以通过两种方式导入数据:

方法 1:单击数据库数据部分中的导入 JSON 按钮,然后选择您的应用程序数据 JSON 文件。

方法 2:您还可以从命令行发出 CURL 请求。

首先从您的 Firebase 检索一个秘密,您可以通过访问数据库设置页面获得该秘密。

然后在您的终端中输入以下内容,将DATABASE_NAMESECRET字段替换为您自己的值:

curl 'https://<DATABASE_NAME>.firebaseio.com/.json?auth=<SECRET>&print=silent' -x PUT -d @<DATABASE_NAME>.json

如果您在从非常大的数据库恢复备份时遇到问题,请联系我们的支持团队

调度

您的数据库备份被分配到每天的特定时间,以确保所有备份客户的负载均匀和最高可用性。无论您是否全天进行任何手动备份,此计划备份都会发生。

文件命名

传输到您的 Cloud Storage 存储桶的文件将带有时间戳(ISO 8601 标准)并使用以下命名约定:

  • 数据库数据: YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_data.json
  • 数据库规则: YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_rules.json

如果启用了Gzip ,文件名将附加一个.gz后缀。您可以使用 Cloud Storage 前缀搜索轻松找到特定日期或时间的备份。

Gzip 压缩

默认情况下,我们使用 Gzip 压缩来压缩您的备份文件,以节省存储成本并减少传输时间。压缩后的文件大小因数据库的数据特征而异,但典型的数据库可能会缩小到原始大小的⅓,从而节省存储成本并减少备份的上传时间。

要解压缩 Gzipped JSON 文件,请使用默认为 OS-X 和大多数 Linux 发行版提供的gunzip二进制文件发出命令行命令。

gunzip <DATABASE_NAME>.json.gz  # Will unzip to <DATABASE_NAME>.json

存储 30 天生命周期

我们提供易于使用的配置开关,可为您的 Cloud Storage 存储桶启用默认的 30 天对象生命周期策略。启用后,存储桶中的文件将在 30 天后自动删除。这有助于减少不需要的旧备份,节省您的存储成本,并保持您的存储桶目录干净。如果您将其他文件放入您的自动备份存储桶,它们也将使用相同的策略被删除。

费用

可以为Blaze计划中的项目启用备份功能,无需额外费用。但是,您将按标准费率为放置在您的 Cloud Storage 存储桶中的备份文件付费。您可以启用Gzip 压缩存储 30 天生命周期以降低存储成本。