Пользователи плана Blaze могут настроить свою Firebase Realtime Database для автоматического резервного копирования — функцию самообслуживания, которая позволяет ежедневно создавать резервные копии данных и правил приложения базы данных в формате JSON в сегменте Cloud Storage .
Настраивать
Чтобы начать, посетите вкладку «Резервные копии» в разделе «База данных» консоли Firebase , и мастер поможет вам настроить автоматическое резервное копирование.
Чтобы сэкономить на расходах на хранилище, мы по умолчанию включаем сжатие Gzip , и вы можете включить для своего сегмента политику 30-дневного жизненного цикла , чтобы резервные копии старше 30 дней автоматически удалялись.
Вы можете просмотреть статус и активность резервного копирования непосредственно в консоли Firebase , где вы также можете запустить резервное копирование вручную. Это может быть полезно для создания определенных моментальных снимков по времени или в качестве меры безопасности перед выполнением каких-либо изменений кода.
После настройки для вас будет создан новый сегмент Cloud Storage с разрешением WRITER для Firebase. Вам не следует хранить данные в этом сегменте, к которым у 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-сжатия, чтобы сэкономить на хранении и сократить время передачи. Сжатый размер файла варьируется в зависимости от характеристик данных вашей базы данных, но типичные базы данных могут уменьшаться до ⅓ исходного размера, что позволяет сэкономить на расходах на хранение и сократить время загрузки резервных копий.
Чтобы распаковать файлы JSON, сжатые Gzip, введите команду командной строки, используя двоичный файл gunzip
, который по умолчанию поставляется для OS-X и большинства дистрибутивов Linux.
gunzip <DATABASE_NAME>.json.gz # Will unzip to <DATABASE_NAME>.json
Хранение 30-дневный жизненный цикл
Мы предлагаем простой в использовании переключатель конфигурации, который включает 30-дневную политику жизненного цикла объекта по умолчанию для вашего сегмента Cloud Storage . Если эта функция включена, файлы в вашей корзине будут автоматически удалены через 30 дней. Это помогает уменьшить количество ненужных старых резервных копий, сэкономить на расходах на хранение и поддерживать чистоту каталога корзины. Если вы поместите другие файлы в корзину автоматического резервного копирования, они также будут удалены с использованием той же политики.
Затраты
Функцию резервного копирования можно включить для проектов в плане Blaze без дополнительной оплаты. Однако с вас будет взиматься стандартная плата за файлы резервных копий, помещенные в корзину Cloud Storage . Вы можете включить сжатие Gzip и 30-дневный жизненный цикл хранения, чтобы сократить расходы на хранение.