CRUD через Firebase админ SDK и Firebase функции API - PullRequest
0 голосов
/ 11 марта 2019

Сейчас мы разрабатываем приложение с полным стеком, используя

  • Хостинг Firebase (Nodejs + vue)
  • Firebase Firestore (Документ база данных)
  • Функции Firebase (Действуя как уровень API)

У нас есть 2 разных подхода к взаимодействию и привязке данных в реальном времени, которые хранятся в Firebase firestore .

Подход 1. Приложение выполнит firebase.onCall () , который вызывает функции firebase, которые действуют как REST-API-слой между хостингом и firestore. Мы искали потоковый API, но он, вероятно, не сработает в нашем случае, поскольку ограничение времени выполнения для функции firebase составляет 9 минут. Проблемы с этим подходом:

  • Нет опции для привязки данных в реальном времени (Мы должны выполнить запрос, чтобы проверить, изменены ли данные / обновлены)

Подход 2: Мы будем использовать Firebase Admin SDK и, в конечном итоге, плагин для Vue Vue-firestore и напрямую взаимодействовать с Firestore, поэтому в этом подходе мы не будем использовать firebase-функции в качестве уровня API. Проблемы с этим подходом:

  • Вероятно, нарушает лучшие практики для 3-х уровневой архитектуры, нам лучше иметь весь доступ к базе данных на стороне сервера + на уровне API.

Итак, в этом случае мы хотели бы изучить и узнать, какой подход к проектированию нам следует использовать в целом, и какие подводные камни могут возникнуть при подходе 1 против подхода 2? И как мы можем предоставить нашему веб-интерфейсу набор данных базы данных в режиме реального времени, не имея внешнего интерфейса, выполняющего запросы к API на предмет обновлений.

Согласно этой проблеме, автор в этом блоге fullstackfirebase.com / cloud-firestore / вводная информация предполагает, что мы не должны использовать функцию firebase в качестве уровня API, поскольку администратор sdk действительно решает все проблемы. , Таким образом, в этом пункте мы довольно смущены, каким путем мы должны идти.

...