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_NAME
和SECRET
字段替換為您自己的值:
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 天生命週期來降低存儲成本。