自動備份

Blaze 方案使用者可設定 Firebase 即時資料庫以進行自動備份,這是一種自助式功能,能每日將資料庫應用程式資料和 JSON 格式的規則備份到 Cloud Storage 值區。

設定

如要開始使用,請前往 Firebase 控制台「資料庫」專區中的「備份」分頁,精靈會逐步引導您設定自動備份功能。

為了節省儲存空間費用,我們預設會啟用 Gzip 壓縮功能,您也可以為值區啟用 30 天生命週期政策,讓系統自動刪除 30 天前的備份。

您可以直接在 Firebase 控制台查看狀態和備份活動,也可以開始手動備份。如果您要擷取特定定時快照,或是在執行任何程式碼變更前做為安全動作,這項功能就能派上用場。

設定完成後,系統會為您建立新的 Cloud Storage 值區,並具備 Firebase 的寫入權限。如果您不希望 Firebase 存取,就不應將資料儲存在這個值區中。Firebase 無法存取你的其他 Cloud Storage 值區,或是 Google Cloud 的其他區域。

從備份還原

如要從備份還原 Firebase,請先將檔案從 Cloud Storage 下載到本機磁碟,只要在備份活動部分或 Cloud Storage 值區介面中按一下檔案名稱即可。如果檔案經過 Gzip 壓縮,請先解壓縮檔案。

您可以透過兩種方式匯入資料:

方法 1:在資料庫的資料區段中按一下「Import JSON」(匯入 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 以儲存備份,讓您節省儲存空間費用並縮短備份的上傳時間。

如要解壓縮 Gzip 壓縮的 JSON 檔案,請使用 gunzip 二進位檔發出指令列指令。根據預設,OS-X 和大部分 Linux 發行版都會隨附此二進位檔。

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

設定為期 30 天的儲存空間生命週期

我們提供易於使用的設定切換鈕,可為 Cloud Storage 值區啟用預設的 30 天物件生命週期政策。啟用之後,系統會在 30 天後自動刪除值區中的檔案。這有助於減少不需要的舊備份、節省儲存空間費用,並且讓值區目錄保持乾淨。如果您將其他檔案放入自動備份值區,系統也會透過相同的政策刪除這些檔案。

費用

您可以為 Blaze 方案中的專案啟用備份功能,無須額外付費。不過,針對 Cloud Storage 值區中的備份檔案,向您收取標準費率的費用。您可以啟用 Gzip 壓縮儲存空間 30 天的生命週期來降低儲存空間費用。