Относится к версиям Cloud Firestore Standard и Cloud Firestore Enterprise. |
На этой странице описывается, как восстановить данные из резервной копии в базу данных с тем же именем, что и у исходной базы данных. Перед прочтением этой страницы вам следует ознакомиться с разделом Резервное копирование и восстановление данных .
Восстановление на месте
Восстановление на месте позволяет восстановить базу данных из резервной копии в исходную базу данных, создавшую резервную копию, при этом исходная база данных всё ещё существует. Восстановление на месте помогает избежать перенаправления трафика или создания базы данных с другим именем.
Операция восстановления должна использовать целевую базу данных, которая ещё не существует. Однако вы можете смоделировать восстановление на месте, удалив исходную базу данных и выполнив восстановление из резервной копии в новую базу данных с тем же именем, что и у исходной.
Выполнить восстановление на месте
Чтобы выполнить восстановление на месте, выполните следующие действия:
- Определите резервную копию, которую следует использовать для операции восстановления.
- Удалить существующую базу данных.
- Используйте резервную копию и идентификатор удаленной базы данных для завершения операции восстановления.
Прежде чем начать
Мы рекомендуем выполнить следующие шаги перед началом процесса восстановления на месте.
Получите и скопируйте конфигурацию индекса вашей базы данных. Используйте её для повторного создания индексов после завершения операции восстановления на месте. Для получения конфигурации индекса вашей базы данных используйте следующие команды:
Используйте
gcloud firestore indexes composite list
для получения списка составных индексов:gcloud firestore indexes composite list --database=DATABASE_ID
Замените DATABASE_ID на идентификатор вашей базы данных.
Используйте
gcloud firestore indexes fields list
для получения списка исключений индексов с одним полем (встроенным).gcloud firestore indexes fields list --database=DATABASE_ID
Выполнить восстановление на месте
Выполните следующие шаги для выполнения операции восстановления на месте. Этот процесс требует простоя с момента удаления базы данных до завершения операции восстановления.
После начала операции восстановления её невозможно отменить, необходимо дождаться её завершения. Операция восстановления немедленно занимает идентификатор базы данных, использованный в ней.
Используйте команду
gcloud firestore backups list
, чтобы определить резервную копию, используемую для восстановления, и запишите имя ресурса. Имя ресурса имеет следующий формат:projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID
Используйте команду
gcloud firestore databases delete
для удаления существующей базы данных:gcloud firestore databases delete --database='DATABASE_ID'
Замените DATABASE_ID на идентификатор базы данных.
Подождите не менее 5 минут после удаления базы данных, чтобы идентификатор базы данных снова стал доступен. Запустите операцию восстановления с помощью команды
gcloud firestore databases restore
:gcloud firestore databases restore \ --source-backup=projects/PROJECT_ID/locations/LOCATION/backups/BACKUP_ID \ --destination-database='DATABASE_ID'
Замените DATABASE_ID на идентификатор базы данных.
Что дальше?
- Узнайте больше о расписаниях резервного копирования и операциях восстановления
- Узнайте о настройке восстановления на определенный момент времени (PITR)