自動備份

Blaze 方案使用者可以設定 Firebase Realtime Database 以便自動備份資料。這項自助功能可讓您每天備份資料庫應用程式資料和以 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:按一下「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 壓縮技術壓縮備份檔案,以節省儲存空間費用並縮短傳輸時間。壓縮後的檔案大小會因資料庫的資料特性而異,但一般資料庫的大小可能會縮減到原來的 1/3,因此可節省儲存空間成本,並縮短備份上傳時間。

如要解壓縮已壓縮的 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 天生命週期,以降低儲存空間成本。