Пользователи тарифного плана 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 используйте команду командной строки с помощью исполняемого файла 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-дневный срок хранения, чтобы снизить затраты на хранение.