Начало работы с Firebase Data Connect

Из этого краткого руководства вы узнаете, как реализовать Firebase Data Connect в своем приложении.

  • Добавьте Firebase Data Connect в свой проект Firebase.
  • Настройте среду разработки, включая расширение Visual Studio Code, для работы с производственным экземпляром.
  • Тогда мы покажем вам, как:
    • Создайте схему для приложения для просмотра фильмов и разверните ее в рабочей среде.
    • Определите запросы и мутации для вашей схемы.
    • Создавайте строго типизированные SDK и используйте их в своем приложении.
    • Разверните окончательную схему, запрос и данные в рабочей среде.

Предварительные условия

Чтобы использовать это краткое руководство в своей локальной среде, вам потребуется следующее.

Подключитесь к своему проекту Firebase

  1. Если вы еще этого не сделали, создайте проект Firebase.
    1. В консоли Firebase нажмите «Добавить проект » и следуйте инструкциям на экране.
  2. Перейдите в раздел Data Connect консоли Firebase и следуйте инструкциям по настройке продукта.
  3. Обновите свой проект до плана Blaze. Это позволит вам создать экземпляр Cloud SQL для PostgreSQL.

  4. Выберите расположение базы данных CloudSQL для PostgreSQL.

  5. Запишите имена и идентификаторы проекта, службы и базы данных для подтверждения позже.

  6. Следуйте оставшейся процедуре настройки и нажмите «Готово» .

Выбираем и настраиваем среду разработки

Data Connect поддерживает два варианта разработки:

  • Если вы являетесь Kotlin Android , iOS , Flutter или веб- разработчиком, вы можете использовать разработку VS Code для разработки и тестирования схем и операций локально при подключении к вашему экземпляру Cloud SQL for PostgreSQL.
  • Если вы веб- разработчик, вы можете использовать IDX Development для создания прототипов в рабочей области IDX, используя предварительно настроенный шаблон IDX с PostgreSQL, расширение VS Code с эмулятором Data Connect и настроенный для вас клиентский код быстрого запуска. Дополнительную информацию вы найдете на сайте Project IDX .

В этом кратком руководстве рассматривается процесс разработки расширения VS Code. Продолжение:

  1. Создайте новый каталог для вашего локального проекта.
  2. Откройте VS Code в новом каталоге.
  3. Установите расширение Firebase Data Connect из Visual Studio Code Marketplace .

Настройте свой локальный проект

Установите CLI, следуя обычным инструкциям . Если у вас уже установлен npm, выполните следующую команду:

npm install -g firebase-tools

Настройте каталог вашего проекта

Чтобы настроить локальный проект, инициализируйте каталог проекта.

На левой панели VS Code щелкните значок Firebase, чтобы открыть пользовательский интерфейс расширения Firebase VS Code.

  1. Нажмите кнопку «Войти через Google» .
  2. Нажмите кнопку «Подключить проект Firebase» и выберите в консоли проект, который вы создали ранее.
  3. Нажмите кнопку «Запустить инициализацию Firebase» .
  4. Если ваш проект включен в план Blaze, на вопрос «Хотите ли вы настроить серверные ресурсы сейчас?» ответьте «Да» .
  5. Нажмите кнопку «Запустить эмуляторы» .

Создать схему

В каталоге проекта Firebase в файле /dataconnect/schema/schema.gql начните определять схему GraphQL, включающую фильмы.

Фильм

В Data Connect поля GraphQL сопоставляются со столбцами. Тип Movie имеет id , title , imageUrl и genre . Data Connect распознает примитивные типы данных String и UUID .

Скопируйте следующий фрагмент или раскомментируйте соответствующие строки в файле.

# File `/dataconnect/schema/schema.gql`

# By default, a UUID id key will be created by default as primary key.
type Movie @table {
  id: UUID! @default(expr: "uuidV4()")
  title: String!
  imageUrl: String!
  genre: String
}

ФильмМетаданные

Теперь, когда у вас есть фильмы, вы можете моделировать метаданные фильма.

Скопируйте следующий фрагмент или раскомментируйте соответствующие строки в файле.

# Movie - MovieMetadata is a one-to-one relationship
type MovieMetadata @table {
  # This time, we omit adding a primary key because
  # you can rely on Data Connect to manage it.

  # @unique indicates a 1-1 relationship
  movie: Movie! @unique
  # movieId: UUID <- this is created by the above reference
  rating: Float
  releaseYear: Int
  description: String
}

Обратите внимание, что поле movie сопоставлено с типом Movie . Data Connect понимает, что это связь между Movie и MovieMetadata , и будет управлять этой связью за вас.

Дополнительные сведения о схемах Data Connect см. в документации.

Разверните свою схему в рабочей среде

Если вы используете расширение Firebase VS Code для работы с производственной базой данных, вам необходимо развернуть схему, прежде чем продолжить. После развертывания схемы в рабочей базе данных вы сможете просмотреть ее на консоли.

  1. Для развертывания можно использовать расширение Data Connect VS Code.
    • В пользовательском интерфейсе расширения на панели Firebase Data Connect нажмите «Развернуть в производство» .
  2. Возможно, вам придется просмотреть изменения схемы и одобрить потенциально разрушительные изменения. Вам будет предложено:
    • Просмотрите изменения схемы с помощью firebase dataconnect:sql:diff
    • Когда вы будете удовлетворены изменениями, примените их, используя поток, запущенный firebase dataconnect:sql:migrate .

Добавьте данные в свои таблицы

На панели редактора VS Code вы можете увидеть, как кнопки CodeLens появляются над типами GraphQL в /dataconnect/schema/schema.gql . Поскольку вы развернули свою схему в рабочей среде, вы можете использовать кнопки «Добавить данные» и «Запустить (производственная)», чтобы добавить данные в свою базу данных на серверной стороне.

Чтобы добавить записи в таблицу Movie :

  1. В schema.gql нажмите кнопку «Добавить данные» над объявлением типа Movie .
    Кнопка Code Lens Добавить данные для Firebase Data Connect
  2. В создаваемом файле Movie_insert.gql данные жесткого кода для четырех полей.
  3. Нажмите кнопку «Запустить (Производство)» .
    Кнопка Code Lens Run для Firebase Data Connect
  4. Повторите предыдущие шаги, чтобы добавить запись в таблицу MovieMetadata , указав id вашего фильма в поле movieId , как это было предложено в сгенерированной мутации MovieMetadata_insert .

Для быстрой проверки данных добавлено:

  1. Вернувшись в schema.gql , нажмите кнопку «Читать данные» над объявлением типа Movie .
  2. В полученном файле Movie_read.gql нажмите кнопку «Выполнить» (производство), чтобы выполнить запрос.

Узнайте больше о мутациях Data Connect в документации.

Определите свой запрос

Теперь самое интересное, запросы. Как разработчик, вы привыкли писать запросы SQL, а не запросы GraphQL, поэтому поначалу это может показаться немного другим. Однако GraphQL гораздо более краток и типобезопасен, чем чистый SQL. А наше расширение VS Code упрощает разработку.

Начните редактировать файл /dataconnect/connector/queries.gql . Если вы хотите получить все фильмы, используйте такой запрос.

# File `/dataconnect/connector/queries.gql`

# @auth() directives control who can call each operation.
# Anyone should be able to list all movies, so the auth level
# is set to PUBLIC
query ListMovies @auth(level: PUBLIC) {
  movies {
    id
    title
    imageUrl
    genre
  }
}

Выполните запрос, используя расположенную рядом кнопку CodeLens.

Дополнительные сведения о запросах Data Connect см. в документации.

Создавайте SDK и используйте их в своем приложении.

  1. Нажмите кнопку «Добавить SDK в приложение» .
  2. В появившемся диалоговом окне выберите каталог, содержащий код вашего приложения. Data Connect . Код SDK будет сгенерирован и сохранен там.

  3. Выберите платформу своего приложения и обратите внимание, что код SDK сразу же создается в выбранном вами каталоге.

Узнайте, как использовать сгенерированный SDK для вызова запросов и мутаций из клиентских приложений ( веб , Android , iOS , Flutter ).

Разверните свою схему и запросите ее в рабочей среде

Вы прошли итерацию разработки. Теперь вы можете развернуть свою схему, данные и запросы на сервере с помощью пользовательского интерфейса расширения Firebase или интерфейса командной строки Firebase , так же, как вы это делали со своей схемой.

Если вы используете расширение Firebase VS Code для развертывания, нажмите кнопку «Развернуть в производство» .

После развертывания перейдите в консоль Firebase чтобы убедиться, что схема, операции и данные загружены в облако. У вас должна быть возможность просматривать схему и выполнять операции на консоли. Экземпляр Cloud SQL для PostgreSQL будет обновлен с учетом окончательной развернутой сгенерированной схемы и данных.

Подробную информацию об использовании эмулятора Data Connect можно найти в документации.

Следующие шаги

Просмотрите развернутый проект и откройте для себя дополнительные инструменты:

  • Добавляйте данные в свою базу данных, проверяйте и изменяйте свои схемы, а также отслеживайте работу службы Data Connect в консоли Firebase . Дополнительную информацию можно найти в документации. Например, после завершения краткого руководства:

  • Узнайте больше о разработке схем, запросов и мутаций.

  • Узнайте о создании клиентских SDK, вызове запросов и мутациях из клиентского кода для Интернета , Android , iOS и Flutter .