Check out what’s new from Firebase at Google I/O 2022. Learn more

自動備份

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:單擊Database's Data 部分中的 Import 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 天生命週期以降低存儲成本。