全新推出 Cloud Firestore(测试版):试用 Firebase 和 Google Cloud Platform 全新推出的规模可扩展且灵活的数据库。详细了解 Cloud Firestore

自动备份

Blaze 方案用户可以设置自己的 Firebase 实时数据库以执行自动备份。这项自助式功能可让您以 JSON 格式将您的数据库应用数据和规则每天备份至一个 Google Cloud Storage 存储分区。

设置

要开始使用自动备份,请访问 Firebase 控制台中“Database”(数据库)部分的“备份”标签,向导将会引导您设置自动备份。

为节省存储费用,我们会默认启用 Gzip 压缩。您还可以选择为自己的存储分区启用 30 天生命周期政策,自动删除存在时间已超过 30 天的备份。

您可以直接在 Firebase 控制台中查看状态和备份活动,还可在该控制台中启动手动备份。如果您要在特定时间截取快照,或者想在执行代码更改前采取一定安全措施,手动备份就非常有用。

设置完毕后,系统会为您新建一个 Google Cloud Storage 存储分区,并向 Firebase 授予该分区的 WRITER 权限。建议不要在此存储分区中储存您不想让 Firebase 访问的数据。Firebase 不具备访问其他 Google Cloud Storage 存储分区或 Google Cloud 中其他任何部分的额外权限。

从备份中恢复

要从某个备份中恢复 Firebase 内容,请先将相应备份文件从 Google Cloud Storage 下载到本地磁盘。为此,您可以在备份活动部分或 Google 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

如果您要恢复超大型数据库的备份,但是遇到问题,请与我们的支持团队联系。

时间安排

您的数据库备份会安排在每天的特定时间进行,以确保负载均衡且所有备份客户都能获享最高的可用性。不管您在一天中是否执行过手动备份,预先安排的这项备份都会照常进行。

文件命名

系统会为传输到 Google Cloud Storage 存储分区的文件加上时间戳(遵循 ISO 8601 标准)并为其采用以下命名惯例:

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

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

Gzip 压缩

默认情况下,我们会使用 Gzip 压缩功能来压缩您的备份文件,以节省存储费用并减少传输时间。压缩后的文件大小取决于您数据库的数据特征,但一般的数据库在经过压缩后,其大小可能会缩至原始大小的 ⅓,这可为您节省存储费用并减少备份上传时间。

要对经过 Gzip 压缩的 JSON 文件进行解压缩,请通过命令行使用 OS-X 和大多数 Linux 发行版默认随附的 gunzip 二进制程序。

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

30 天存储生命周期

我们提供了一个易于使用的配置开关,用于为 Google Cloud Storage 存储分区启用默认 30 天的对象生命周期政策。您启用该政策后,存储分区内的文件会在 30 天后自动删除。这有助于减少不需要的旧备份,从而为您节省存储费用并让存储分区目录保持干净整洁。如果您将其他文件保存在自动备份存储分区中,这些文件也会按照这一政策规定自动删除。

费用

Blaze 客户无需支付额外费用即可启用备份功能。不过,您需要为保存在 Google Cloud Storage 存储分区内的备份文件支付标准费用。您可以启用 Gzip 压缩30 天存储生命周期来降低存储费用。

发送以下问题的反馈:

此网页
Firebase 实时数据库
需要帮助?请访问我们的支持页面