Как использовать VSCode для отладки облачных функций Google с помощью триггеров Firestore? - PullRequest
0 голосов
/ 04 июня 2018

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

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

Есть ли способ предоставить локальному эмулятору базу данных, полную данных?

Еще лучше, есть ли способ присоединить отладчик непосредственно к облачной функции и отладить живые функции (что-то вроде в этой статье , но для firestore вместо firebase)?

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

Вы можете использовать эмулятор функций.Есть немного документации, но это хорошее начало: https://firebase.google.com/docs/functions/config-env

$ npm install -g @google-cloud/functions-emulator`

$ functions start

$ functions deploy api --trigger-http --timeout 600s

$ functions inspect api --port 9229

Создайте конфигурацию VS Launce:

{
  "type": "node",
  "request": "attach",
  "name": "Attach",
  "port": 9229 
}

Теперь вы можете F5, чтобы начать отладку.

Это не автоматически получит триггеры из вашей базы данных, но все равно очень полезно, поскольку вы можете использовать http-запрос для запуска функций и их отладки.

Совет : добавьте этот скрипт в package.json, чтобы вы могли легко npm run debug создать и развернуть его в эмуляторе:

"scripts": {
  ...
  "debug": "npm run build && functions deploy api --trigger-http --timeout 600s && functions inspect api --port 9229"` 
}
0 голосов
/ 05 июня 2018

Я единственный способ предоставить локальному эмулятору базу данных, полную данных, - создать одну реальную базу данных с фиктивной информацией.

В разработке находится эмулятор, который реализует некоторые функции, но он находится в альфа-состояние .Кажется, это с открытым исходным кодом, и он размещен в Github.Я предлагаю вам запросить тестирование его функциональности.Однако он не уверен, что выполняет все необходимые функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...