Возможен импорт / экспорт между проектами. Вот шаги, которые сработали для меня:
Сначала убедитесь, что установлен инструмент командной строки gcloud
. Инструкция по настройке,
и полную информацию о процессе экспорта / импорта можно прочитать в документации Firebase
страница о Firestore Экспорт и импорт .
Прежде чем продолжить, настройте проект gcloud на проект, из которого вы хотите источник ваших данных:
gcloud config set project [PROJECT_ID]
Затем, используя веб-приложение Google Cloud Console , убедитесь, что на 1018 * Cloud Storage была создана корзина
проект, который будет источником данных.
Например, для исходного сегмента вы можете создать сегмент, например:
gs://my-source-project-export
.
Вы можете называть ведро как угодно, если вы выбираете что-то уникальное.
Экспорт исходных данных может быть завершен с помощью команды. Например, если вы хотите экспортировать
только коллекции cameras
и radios
в ваше ведро my-source-project-export
с
каталог с датой для идентификации экспорта, вы включаете необязательный флаг collection-ids
, как показано ниже:
gcloud beta firestore export gs://my-source-project-export/export-20190113_2109 --collection-ids='cameras','radios'
Пропуск флага скопирует ВСЕ коллекции.
Инструмент CLI gcloud должен завершить экспорт без проблем.
Теперь, чтобы завершить импорт , мы сначала переключаем проект gcloud на target для наших данных:
gcloud config set project [PROJECT_ID]
Затем мы можем попытаться импортировать:
gcloud beta firestore import --collection-ids='cameras','radios' gs://my-source-project-export/export-20190113_2109
Операция может завершиться ошибкой из-за проблем с разрешениями. Если это так, он сообщит, какая учетная запись службы должна иметь
доступ к ведру. Чтобы решить проблемы с разрешениями, вы можете просто использовать
Браузер хранилища Google Cloud Console для администрирования
разрешения для source bucket. Требуемая учетная запись должна быть добавлена в список members с
роль Storage Admin
.
Как только разрешения исправлены, операция может быть повторена. Для длительных операций список
операций и их статусы можно получить с помощью следующей команды:
gcloud beta firestore operations list
После завершения импорта может быть целесообразно отменить разрешения, предоставленные учетной записи службы, если таковые имеются, чтобы избежать любых нежелательных проблем безопасности.
Надеюсь, это поможет.