Вы можете использовать управляемый сервис экспорта и импорта Cloud Firestore для восстановления данных после случайного удаления и экспорта данных для офлайн-обработки. Вы можете экспортировать все документы или только определённые коллекции. Аналогично, вы можете импортировать все данные из экспорта или только определённые коллекции. Данные, экспортированные из одной базы данных Cloud Firestore можно импортировать в другую базу данных Cloud Firestore . Вы также можете загружать экспорты Cloud Firestore в BigQuery .
На этой странице описывается, как экспортировать и импортировать документы Cloud Firestore с помощью управляемого сервиса экспорта и импорта и Cloud Storage . Управляемый сервис экспорта и импорта Cloud Firestore доступен через командную строку gcloud
и API Cloud Firestore ( REST , RPC ).
Прежде чем начать
Прежде чем вы сможете использовать управляемый сервис экспорта и импорта, вы должны выполнить следующие задачи:
- Включите биллинг для вашего проекта Google Cloud . Только проекты Google Cloud с включённым биллингом могут использовать функции экспорта и импорта.
- Создайте контейнер Cloud Storage для своего проекта рядом с базой данных Cloud Firestore . Вы не можете использовать контейнер Requester Pays для операций экспорта и импорта.
Убедитесь, что у вашей учётной записи есть необходимые разрешения для работы Cloud Firestore и Cloud Storage . Если вы являетесь владельцем проекта, у вашей учётной записи есть необходимые разрешения. В противном случае, следующие роли предоставляют необходимые разрешения для операций экспорта и импорта, а также для доступа к Cloud Storage :
- Роли Cloud Firestore :
Owner
,Cloud Datastore Owner
илиCloud Datastore Import Export Admin
Роли Cloud Storage :
Owner
илиStorage Admin
- Роли Cloud Firestore :
Разрешения сервисного агента
Операции экспорта и импорта используют агент службы Cloud Firestore для авторизации операций Cloud Storage . Агент службы Cloud Firestore использует следующее соглашение об именовании:
- Агент службы Cloud Firestore
-
service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com
Дополнительную информацию об агентах по обслуживанию см. в разделе Агенты по обслуживанию .
Агенту сервиса Cloud Firestore требуется доступ к контейнеру Cloud Storage используемому при экспорте или импорте. Если контейнер Cloud Storage находится в том же проекте, что и база данных Cloud Firestore , агент сервиса Cloud Firestore по умолчанию имеет к нему доступ .
Если контейнер Cloud Storage находится в другом проекте, то необходимо предоставить агенту службы Cloud Firestore доступ к контейнеру Cloud Storage .
Назначьте роли сервисному агенту
Вы можете использовать инструмент командной строки gsutil для назначения одной из перечисленных ниже ролей. Например, чтобы назначить роль администратора хранилища агенту службы Cloud Firestore , выполните следующую команду:
gsutil iam ch serviceAccount:service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com:roles/storage.admin \ gs://[BUCKET_NAME]
Замените PROJECT_NUMBER
номером вашего проекта, который будет использоваться для имени вашего сервисного агента Cloud Firestore . Чтобы просмотреть имя сервисного агента, см. раздел Просмотр имени сервисного агента .
Альтернативно, вы можете назначить эту роль с помощью консоли Google Cloud .
Просмотреть имя сервисного агента
Вы можете просмотреть учётную запись, используемую вашими операциями импорта и экспорта для авторизации запросов на странице «Импорт/экспорт» в консоли Google Cloud. Вы также можете узнать, использует ли ваша база данных агент сервиса Cloud Firestore или устаревшую учётную запись сервиса App Engine .
- Просмотрите учетную запись авторизации рядом с меткой «Задания импорта/экспорта выполняются как» .
Агенту сервиса необходима роль Storage Admin
для использования контейнера Cloud Storage для операции экспорта или импорта.
Настройте gcloud
для вашего проекта
Вы можете инициировать операции импорта и экспорта через консоль Google Cloud или инструмент командной строки gcloud
. Чтобы использовать gcloud
, настройте инструмент командной строки и подключитесь к своему проекту одним из следующих способов:
Доступ
gcloud
из консоли Google Cloud Platform с помощью Cloud Shell .Убедитесь, что
gcloud
настроен для правильного проекта:gcloud config set project [PROJECT_ID]
Экспорт данных
Операция экспорта копирует документы из вашей базы данных в набор файлов в контейнере Cloud Storage . Обратите внимание, что экспорт не является точным снимком базы данных, сделанным на момент начала экспорта. Экспорт может включать изменения, внесенные во время выполнения операции.
Экспортировать все документы
Консоль Google Cloud
В консоли Google Cloud перейдите на страницу Базы данных .
Выберите необходимую базу данных из списка баз данных.
В навигационном меню нажмите Импорт/Экспорт .
Нажмите Экспорт .
Нажмите кнопку Экспортировать всю базу данных .
В поле «Выбрать место назначения» введите имя контейнера Cloud Storage или используйте кнопку «Обзор» , чтобы выбрать контейнер.
Нажмите Экспорт .
Консоль возвращается на страницу импорта/экспорта . При успешном запуске операции запись добавляется на страницу последних импортов и экспортов. В случае неудачи отображается сообщение об ошибке.
gcloud
Используйте команду firestore export
для экспорта всех документов из базы данных, заменив [BUCKET_NAME]
именем вашего контейнера Cloud Storage . Добавьте флаг --async
, чтобы инструмент gcloud
не ждал завершения операции.
gcloud firestore export gs://[BUCKET_NAME] \ --database=[DATABASE]
Заменить следующее:
BUCKET_NAME
: организуйте экспорт, добавив префикс файла после имени контейнера, например,BUCKET_NAME/my-exports-folder/export-name
. Если префикс файла не указан, служба управляемого экспорта создаст его на основе текущей временной метки.DATABASE
: имя базы данных, из которой вы хотите экспортировать документы. Для базы данных по умолчанию используйте--database='(default)'
.
После запуска операции экспорта закрытие терминала не отменяет операцию, см. отмена операции .
Экспортировать определенные коллекции
Консоль Google Cloud
В консоли Google Cloud перейдите на страницу Базы данных .
Выберите необходимую базу данных из списка баз данных.
В навигационном меню нажмите Импорт/Экспорт .
Нажмите Экспорт .
Нажмите «Экспортировать одну или несколько групп коллекций» . В раскрывающемся меню выберите одну или несколько групп коллекций.
В поле «Выбрать место назначения» введите имя контейнера Cloud Storage или используйте кнопку «Обзор» , чтобы выбрать контейнер.
Нажмите Экспорт .
Консоль возвращается на страницу импорта/экспорта . При успешном запуске операции запись добавляется на страницу последних импортов и экспортов. В случае неудачи отображается сообщение об ошибке.
gcloud
Чтобы экспортировать определённые группы коллекций, используйте флаг --collection-ids
. Операция экспортирует только группы коллекций с заданными идентификаторами. Группа коллекций включает все коллекции и подколлекции (по любому пути) с указанным идентификатором коллекции.
gcloud firestore export gs://[BUCKET_NAME] \ --collection-ids=[COLLECTION_ID_1],[COLLECTION_ID_2],[SUBCOLLECTION_ID_1] \ --database=[DATABASE]
Например, вы можете создать коллекцию restaurants
в базе данных foo
, включив в неё несколько подколлекций, таких как ratings
, reviews
или outlets
. Для экспорта определённой коллекции restaurants
и reviews
команда выглядит следующим образом:
gcloud firestore export gs://[BUCKET_NAME] \ --collection-ids=restaurants,reviews \ --database='cymbal'
Экспорт из временной метки PITR
Вы можете экспортировать базу данных в Cloud Storage из данных PITR . Вы можете экспортировать данные PITR с меткой времени, представляющей собой целую минуту, за последние семь дней, но не ранее самой earliestVersionTime
. Если данные по указанной метке времени отсутствуют, операция экспорта завершается ошибкой.
Операция экспорта PITR поддерживает все фильтры, включая экспорт всех документов и экспорт определенных коллекций.
Перед экспортом данных PITR обратите внимание на следующие моменты:
- Укажите временную метку в формате RFC 3339. Например,
2023-05-26T10:20:00.00Z
. - Убедитесь, что указанная вами временная метка представляет собой целую минуту в пределах последних семи дней, но не ранее, чем
earliestVersionTime
. Если данные по указанной временной метке отсутствуют, генерируется ошибка. - Плата за неудачный экспорт PITR не взимается.
Консоль
В консоли Google Cloud перейдите на страницу Базы данных .
Перейти к базам данных- Выберите базу данных из списка баз данных.
- В навигационном меню нажмите Импорт/Экспорт .
- Нажмите Экспорт .
- Настройте источник экспорта для экспорта либо всей базы данных, либо только определенных коллекций.
В разделе Выберите состояние базы данных для экспорта выберите Экспорт из более раннего момента времени .
Выберите время снимка, которое будет использоваться для экспорта
- В разделе «Назначение» введите имя контейнера Cloud Storage или используйте кнопку «Обзор» , чтобы выбрать контейнер.
Нажмите Экспорт .
Консоль возвращается на страницу импорта/экспорта . При успешном запуске операции запись добавляется на страницу последних импортов и экспортов. В случае неудачи отображается сообщение об ошибке.
gcloud
Вы можете экспортировать свою базу данных в Cloud Storage из данных PITR с помощью команды gcloud firestore export
.
Экспортируйте базу данных, указав параметр snapshot-time
в качестве временной метки восстановления. Выполните следующую команду, чтобы экспортировать базу данных в ваш контейнер.
gcloud firestore export gs://[BUCKET_NAME_PATH] \ --snapshot-time=[PITR_TIMESTAMP]
Где PITR_TIMESTAMP
— это временная метка PITR с точностью до минуты, например, 2023-05-26T10:20:00.00Z
.
Добавьте флаг --collection-ids
для экспорта определенных коллекций.
Импорт данных
После экспорта файлов в Cloud Storage вы можете импортировать документы из этих файлов обратно в свой проект или в другой проект. Обратите внимание на следующие моменты, касающиеся операций импорта:
При импорте данных необходимые индексы обновляются с использованием текущих определений индексов вашей базы данных. Экспорт не содержит определений индексов.
Импорт не присваивает новые идентификаторы документам. Импорт использует идентификаторы, полученные при экспорте. При импорте документа его идентификатор резервируется для предотвращения конфликтов идентификаторов. Если документ с таким же идентификатором уже существует, импорт перезаписывает существующий документ.
Если документ в вашей базе данных не затронут импортом, он останется в вашей базе данных после импорта.
Операции импорта не запускают облачные функции. Прослушиватели снимков получают обновления, связанные с операциями импорта.
Имя файла
.overall_export_metadata
должно совпадать с именем его родительской папки:gs://BUCKET_NAME/OPTIONAL_NAMESPACE_PATH/ PARENT_FOLDER_NAME / PARENT_FOLDER_NAME .overall_export_metadata
При перемещении или копировании выходных файлов экспорта сохраните PARENT_FOLDER_NAME и имя файла
.overall_export_metadata
неизменными.
Импорт всех документов из экспорта
Консоль Google Cloud
В консоли Google Cloud перейдите на страницу Базы данных .
Выберите необходимую базу данных из списка баз данных.
В навигационном меню нажмите Импорт/Экспорт .
Нажмите Импорт .
В поле «Имя файла» введите имя файла
.overall_export_metadata
, созданного в результате завершённой операции экспорта. Для выбора файла можно использовать кнопку «Обзор» .Нажмите Импорт .
Консоль возвращается на страницу импорта/экспорта . При успешном запуске операции запись добавляется на страницу последних импортов и экспортов. В случае неудачи отображается сообщение об ошибке.
gcloud
Используйте команду firestore import
для импорта документов из предыдущей операции экспорта.
gcloud firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/ --database=[DATABASE]
Заменить следующее:
BUCKET_NAME/EXPORT_PREFIX
: расположение ваших экспортных файлов.DATABASE
: имя базы данных. Для базы данных по умолчанию используйте--database='(default)'
.
Например:
gcloud firestore import gs://my-bucket/2017-05-25T23:54:39_76544/ --database='cymbal'
Вы можете подтвердить местоположение ваших экспортированных файлов в браузере Cloud Storage в консоли Google Cloud:
Открытый браузер Cloud Storage
После запуска операции импорта закрытие терминала не отменяет операцию, см. Отмена операции .
Импорт определенных коллекций
Консоль Google Cloud
Вы не можете выбрать отдельные коллекции в консоли. Вместо этого используйте gcloud
.
gcloud
Чтобы импортировать определённые группы коллекций из набора экспортных файлов, используйте флаг --collection-ids
. Операция импортирует только группы коллекций с заданными идентификаторами. Группа коллекций включает все коллекции и подколлекции (по любому пути) с указанным идентификатором. Укажите имя базы данных с помощью флага --database
. Для базы данных по умолчанию используйте --database='(default)'
.
Импорт отдельных групп коллекций поддерживается только при экспорте отдельных групп коллекций. Импорт отдельных коллекций из экспорта всех документов невозможен.
gcloud firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/ \ --collection-ids=[COLLECTION_ID_1],[COLLECTION_ID_2],[SUBCOLLECTION_ID_1] \ --database=[DATABASE]
Импорт экспорта PITR
Чтобы импортировать экспортированную базу данных, выполните действия, описанные в разделе «Импорт всех документов» . Если в базе данных уже есть какой-либо документ, он будет перезаписан.
Управление экспортно-импортными операциями
После запуска операции экспорта или импорта Cloud Firestore присваивает ей уникальное имя. Имя операции можно использовать для её удаления, отмены или проверки статуса.
Имена операций начинаются с projects/[PROJECT_ID]/databases/(default)/operations/
, например:
projects/my-project/databases/(default)/operations/ASA1MTAwNDQxNAgadGx1YWZlZAcSeWx0aGdpbi1zYm9qLW5pbWRhEgopEg
Однако вы можете опустить префикс при указании имени операции для команд describe
, cancel
и delete
.
Перечислите все экспортные и импортные операции
Консоль Google Cloud
Список последних операций экспорта и импорта можно просмотреть на странице «Импорт/Экспорт» консоли Google Cloud.
В консоли Google Cloud перейдите на страницу Базы данных .
Выберите необходимую базу данных из списка баз данных.
В навигационном меню нажмите Импорт/Экспорт .
gcloud
Используйте команду operations list
, чтобы просмотреть все запущенные и недавно завершенные операции экспорта и импорта:
gcloud firestore operations list
Проверьте статус работы
Консоль Google Cloud
Статус последней операции экспорта или импорта можно просмотреть на странице «Импорт/Экспорт» консоли Google Cloud.
В консоли Google Cloud перейдите на страницу Базы данных .
Выберите необходимую базу данных из списка баз данных.
В навигационном меню нажмите Импорт/Экспорт .
gcloud
Используйте команду operations describe
, чтобы отобразить статус операции экспорта или импорта.
gcloud firestore operations describe [OPERATION_NAME]
Оцените время завершения
Запрос статуса длительной операции возвращает метрики workEstimated
и workCompleted
. Каждая из этих метрик возвращается как в виде количества байтов, так и в виде количества сущностей:
workEstimated
показывает предполагаемое общее количество байтов и документов, которые обработает операция. Cloud Firestore может не учитывать эту метрику, если не может сделать оценку.workCompleted
показывает количество обработанных на данный момент байтов и документов. После завершения операции значение показывает общее количество фактически обработанных байтов и документов, которое может превышать значениеworkEstimated
.
Разделите workCompleted
на workEstimated
для приблизительной оценки прогресса. Эта оценка может быть неточной, поскольку она зависит от задержки сбора статистики.
Отменить операцию
Консоль Google Cloud
Вы можете отменить запущенную операцию экспорта или импорта на странице «Импорт/Экспорт» консоли Google Cloud.
В консоли Google Cloud перейдите на страницу Базы данных .
Выберите необходимую базу данных из списка баз данных.
В навигационном меню нажмите Импорт/Экспорт .
В таблице «Недавние импорты и экспорты» для текущих операций в столбце «Завершено» отображается кнопка «Отмена» . Нажмите кнопку «Отмена» , чтобы остановить операцию. После полной остановки операции кнопка изменится на сообщение «Отмена» , а затем на « Отменено» .
gcloud
Используйте команду operations cancel
, чтобы остановить выполняемую операцию:
gcloud firestore operations cancel [OPERATION_NAME]
Отмена запущенной операции не отменяет её. Отменённая операция экспорта оставит документы, уже экспортированные в Cloud Storage , а отменённая операция импорта сохранит уже внесённые в базу данных обновления. Частично выполненный экспорт импортировать нельзя.
Удалить операцию
Используйте команду gcloud firestore operations delete
для удаления операции из списка недавних операций. Эта команда не удаляет файлы экспорта из Cloud Storage .
gcloud firestore operations delete [OPERATION_NAME]
Выставление счетов и ценообразование для экспортно-импортных операций
Перед использованием службы управляемого экспорта и импорта вам необходимо включить выставление счетов для вашего проекта Google Cloud .
Операции экспорта и импорта оплачиваются за чтение и запись документов по тарифам, указанным в ценах Cloud Firestore . Операции экспорта включают одну операцию чтения на каждый экспортируемый документ. Операции импорта включают одну операцию записи на каждый импортируемый документ.
Хранящиеся в Cloud Storage выходные файлы учитываются в расходах на хранение данных Cloud Storage .
Операции экспорта и импорта не будут активировать оповещения о вашем бюджете Google Cloud до их завершения. Операции экспорта и импорта не повлияют на использование, отображаемое в разделе «Использование» консоли.
Просмотр экспортных и импортных расходов
Операции экспорта и импорта применяют метку goog-firestoremanaged:exportimport
к оплачиваемым операциям. На странице отчётов Cloud Billing эта метка позволяет просматривать расходы, связанные с операциями импорта и экспорта:
Экспорт в BigQuery
Вы можете загрузить данные из экспорта Cloud Firestore в BigQuery , но только если вы указали фильтр collection-ids
. См. раздел Загрузка данных из экспорта Cloud Firestore .
Ограничение на количество столбцов BigQuery
BigQuery накладывает предел в 10 000 столбцов на таблицу. Экспортные операции Cloud Firestore генерируют схему настольной таблицы BigQuery для каждой группы сбора. В этой схеме каждое уникальное имя поля в группе сбора становится колонкой схемы.
Если схема BigQuery группы коллекций превышает 10 000 столбцов, операция экспорта Cloud Firestore пытается не превышать ограничение на количество столбцов, обрабатывая поля сопоставления как байты. Если в результате преобразования количество столбцов становится меньше 10 000, вы можете загрузить данные в BigQuery , но не сможете выполнять запросы к подполям в полях сопоставления. Если количество столбцов по-прежнему превышает 10 000, операция экспорта не создаст схему BigQuery для группы коллекций, и вы не сможете загрузить её данные в BigQuery .
Формат экспорта и файлы метаданных
Выходные данные управляемого экспорта используют формат журнала LevelDB .
Файлы метаданных
Операция экспорта создаёт файл метаданных для каждой указанной группы коллекций. Файлы метаданных обычно имеют имя ALL_NAMESPACES_KIND_[COLLECTION_GROUP_ID].export_metadata
.
Файлы метаданных представляют собой буферы протоколов, и их можно декодировать с помощью компилятора протокола protoc
. Например, можно декодировать файл метаданных, чтобы определить группы коллекций, содержащиеся в файлах экспорта:
protoc --decode_raw < export0.export_metadata
Миграция сервисного агента
Cloud Firestore использует агента службы Cloud Firestore для авторизации операций импорта и экспорта вместо учётной записи службы App Engine . Агент службы и учётная запись службы используют следующие соглашения об именовании:
- Агент службы Cloud Firestore
-
service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com
Ранее Cloud Firestore использовал учётную запись службы App Engine по умолчанию вместо агента службы Cloud Firestore . Если ваша база данных всё ещё использует учётную запись службы App Engine для импорта и экспорта данных, рекомендуем следовать инструкциям в этом разделе, чтобы перейти на использование агента службы Cloud Firestore .
- Учетная запись службы App Engine
-
PROJECT_ID @appspot.gserviceaccount.com
Предпочтительнее использовать агент службы Cloud Firestore , поскольку он предназначен специально для Cloud Firestore . Учётная запись службы App Engine используется несколькими службами.
Просмотреть учетную запись авторизации
Вы можете посмотреть, какую учётную запись используют ваши операции импорта и экспорта для авторизации запросов на странице «Импорт/Экспорт» в консоли Google Cloud. Вы также можете посмотреть, использует ли ваша база данных агент сервиса Cloud Firestore .
В консоли Google Cloud перейдите на страницу Базы данных .
- Выберите необходимую базу данных из списка баз данных.
В навигационном меню нажмите Импорт/Экспорт .
- Просмотрите учетную запись авторизации рядом с меткой «Задания импорта/экспорта выполняются как» .
Если ваш проект не использует агент службы Cloud Firestore , вы можете перейти на агент службы Cloud Firestore используя любой из следующих методов:
- Перенесите проект, проверив и обновив разрешения контейнера Cloud Storage (рекомендуется) .
- Добавьте общеорганизационное ограничение политики , которое повлияет на все проекты в организации.
Первый из этих методов предпочтительнее, поскольку он ограничивает область действия одним проектом Cloud Firestore . Второй метод менее предпочтителен, поскольку не переносит существующие разрешения контейнеров Cloud Storage . Однако он обеспечивает соответствие требованиям безопасности на уровне организации.
Миграция путем проверки и обновления разрешений контейнера Cloud Storage
Процесс миграции состоит из двух этапов:
- Обновите разрешения контейнера Cloud Storage . Подробности см. в следующем разделе.
- Подтвердите миграцию в агент службы Cloud Firestore .
Разрешения контейнера сервисного агента
Для любых операций экспорта или импорта, использующих контейнер Cloud Storage в другом проекте, необходимо предоставить агенту службы Cloud Firestore разрешения на этот контейнер. Например, операции по переносу данных в другой проект должны иметь доступ к контейнеру в этом проекте. В противном случае эти операции завершатся ошибкой после миграции в агент службы Cloud Firestore .
Рабочие процессы импорта и экспорта, находящиеся в пределах одного проекта, не требуют изменения прав доступа. Агент сервиса Cloud Firestore по умолчанию может получать доступ к контейнерам в одном проекте.
Обновите разрешения для контейнеров Cloud Storage из других проектов, чтобы предоставить доступ к агенту service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com
. Назначьте агенту сервиса роль Firestore Service Agent
.
Роль Firestore Service Agent
предоставляет разрешения на чтение и запись для контейнера Cloud Storage . Если вам нужно предоставить только разрешения на чтение или только на запись, используйте пользовательскую роль .
Процесс миграции, описанный в следующем разделе, поможет вам определить контейнеры Cloud Storage , для которых могут потребоваться обновления разрешений.
Перенести проект в Firestore Service Agent
Выполните следующие шаги для миграции из учётной записи службы App Engine в агент службы Cloud Firestore . После завершения миграцию нельзя будет отменить.
В консоли Google Cloud перейдите на страницу Базы данных .
- Выберите необходимую базу данных из списка баз данных.
В навигационном меню нажмите Импорт/Экспорт .
Если ваш проект ещё не перенесён в сервис-агент Cloud Firestore , вы увидите баннер с описанием процесса миграции и кнопку « Проверить статус контейнера» . Следующий шаг поможет вам выявить и исправить потенциальные ошибки прав доступа.
Нажмите Проверить статус контейнера .
Появится меню с опцией завершения миграции и списком контейнеров Cloud Storage . Загрузка списка может занять несколько минут.
В этот список включены контейнеры, которые недавно использовались в операциях импорта и экспорта, но в настоящее время не предоставляют разрешения на чтение и запись агенту службы Cloud Firestore .
- Запишите основное имя агента службы Cloud Firestore вашего проекта. Имя агента службы отображается под меткой «Агент службы», предоставляя доступ к метке.
Для любого контейнера в списке, который вы будете использовать для будущих операций импорта или экспорта, выполните следующие действия:
В строке таблицы этого контейнера нажмите «Исправить» . Откроется страница разрешений для этого контейнера в новой вкладке.
- Нажмите «Добавить» .
- В поле Новые субъекты введите имя вашего агента службы Cloud Firestore .
- В поле Выберите роль выберите Агенты сервиса > Агент сервиса Firestore .
- Нажмите «Сохранить» .
- Вернитесь на вкладку со страницей импорта/экспорта Cloud Firestore .
- Повторите эти шаги для других разделов в списке. Обязательно просмотрите все страницы списка.
Нажмите кнопку «Миграция в Firestore Service Agent» . Если у вас всё ещё есть контейнеры с непройденными проверками разрешений, подтвердите миграцию, нажав кнопку «Миграция» .
Вы получите уведомление о завершении миграции. Миграцию нельзя отменить.
Просмотреть статус миграции
Чтобы проверить статус миграции вашего проекта:
В консоли Google Cloud перейдите на страницу Базы данных .
- Выберите необходимую базу данных из списка баз данных.
В навигационном меню нажмите Импорт/Экспорт .
Найдите имя принципала рядом с меткой «Задания импорта/экспорта выполняются как» .
Если субъект —
service- PROJECT_NUMBER @gcp-sa-firestore.iam.gserviceaccount.com
, то ваш проект уже перенесён в агент сервиса Cloud Firestore . Миграцию нельзя отменить.Если проект не был перенесён, в верхней части страницы появится баннер с кнопкой «Проверить статус контейнера» . Чтобы завершить миграцию, см. раздел «Перенос в агент сервиса Firestore» .
Добавить ограничение политики на уровне всей организации
Установите следующее ограничение в политике вашей организации:
Для импорта/экспорта требуется Firestore Service Agent (
firestore.requireP4SAforImportExport
).Это ограничение требует от операций импорта и экспорта для использования сервисного агента Cloud Firestore для авторизации запросов. Чтобы установить это ограничение, см. Создание и управление политиками организации .
Применение этого ограничения организационной политики не предоставляет автоматически соответствующие разрешения контейнера Cloud Storage для агента службы Cloud Firestore .
Если ограничение приводит к ошибкам разрешений для каких-либо рабочих процессов импорта или экспорта, вы можете отключить его, чтобы вернуться к использованию учётной записи службы по умолчанию. После проверки и обновления разрешений контейнера Cloud Storage вы можете снова включить ограничение.