Миграция из Datastore в собственный режим Firestore - PullRequest
3 голосов
/ 16 апреля 2019

Контекст, у меня есть проект с хранилищем данных, в который уже загружена информация, в настоящее время мы хотели использовать облачное хранилище (основной режим), но мы поняли, что миграция невозможна, какие альтернативы мне использовать облачное хранилище (основной режим))

Ответы [ 2 ]

1 голос
/ 27 апреля 2019

Я только что мигрировал из Datastore в Firestore (основной режим) для одного из моих веб-приложений. Вот что мне нужно было сделать:

  1. Создайте новый проект GCP, как Firestore (основной режим) и Datastore. не может сосуществовать в одном проекте.
  2. Перенос данных из Datastore в моем старом проекте в Firestore (основной режим) в моем новом проекте. На момент написания этой статьи, нет никаких инструментов для этого в автоматическом режиме. Я написал скрипты Python, которые читают все записи из Datastore и записывают их в Firestore в новом проекте. Эти сценарии выполнялись локально на моем компьютере с использованием служебных ключей учетной записи, загруженных из облачной консоли.
    • (Примечание: у вас может возникнуть желание использовать gcloud datastore export, за которым следует gcloud firestore import. Кажется, что это работает, и сообщения об ошибках при этом не появляются. Но идентификаторы документов и свойства JSON плохо переводятся. Это было для меня это большое время. Не ходи по этой дороге.)
  3. Перепишите слой доступа к данным в вашем приложении. Firestore (основной режим) имеет другой API, чем Datastore.

Это было изрядное количество работы, но в моем случае оно того стоило:

  1. Мне удалось удалить большую часть кода на стороне сервера, поскольку клиенты могут напрямую обращаться к базе данных.
  2. Мне удалось удалить большую часть кода на стороне клиента для поддержки автономного режима, поскольку клиентская библиотека Firestore уже реализует его.

Удачи!

0 голосов
/ 17 апреля 2019

К сожалению, вам потребуется создать базу данных Cloud Firestore в новом проекте, который позволит вашим существующим учетным записям служб получать доступ к этой новой базе данных.

...