自動備份

Blaze計劃用戶可以設定 Firebase 即時資料庫以進行自動備份,這是一項自助服務功能,可將資料庫應用程式資料和規則以 JSON 格式每日備份到Cloud Storage儲存桶。

設定

首先,請造訪 Firebase 控制台「資料庫」部分中的「備份」選項卡,精靈將引導您設定自動備份。

為了節省儲存成本,我們預設啟用Gzip壓縮,您可以選擇在儲存桶上啟用30 天生命週期策略,以自動刪除超過 30 天的備份。

您可以直接在 Firebase 控制台中檢視狀態和備份活動,也可以在其中啟動手動備份。這對於拍攝特定的定時快照或在執行任何程式碼變更之前作為安全操作非常有用。

設定完成後,將為您建立一個新的 Cloud Storage 儲存桶,並具有 Firebase 的WRITER 權限。您不應將資料儲存在 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 壓縮來壓縮您的備份文件,以節省儲存成本並減少傳輸時間。壓縮檔案的大小會根據資料庫的資料特徵而有所不同,但典型的資料庫可能會縮小到原始大小的 1/3,從而節省您的儲存成本並減少備份的上傳時間。

若要解壓縮 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 天生命週期來降低儲存成本。