изменения в пожарном депо не срабатывают - PullRequest
0 голосов
/ 13 февраля 2019

Я чувствую, что должен хотя бы увидеть ошибку или ... если нехарактерно везучий, успех.У меня есть настройка события на /sampleData/metrics/{uid}/{document}, которую вы можете увидеть здесь:

dashboard - functions

обратите внимание, что триггеры не содержат ведущий /.На моем первом deploy он не был указан в коде.Я изменил это, когда я не увидел вызов в первый раз, когда я тестировал, но этот текст не изменился в console.firebase.google.com там ... однако последующие развертывания выглядят завершенными:

=== Deploying to 'THIS PROJECT'...

i  deploying functions
i  functions: ensuring necessary APIs are enabled...
✔  functions: all necessary APIs are enabled
i  functions: preparing . directory for uploading...
i  functions: packaged . (172.19 KB) for uploading
✔  functions: . folder uploaded successfully
i  functions: updating Node.js 8 function onAddLocation(us-central1)...
i  functions: updating Node.js 8 function onAddMetric(us-central1)...
✔  functions[onAddLocation(us-central1)]: Successful update operation. 
✔  functions[onAddMetric(us-central1)]: Successful update operation. 

✔  Deploy complete!

Please note that it can take up to 30 seconds for your updated functions to propagate.
Project Console: https://console.firebase.google.com/project/THIS PROJECT/overview
✨  Done in 51.23s.

И мы также можем видеть, что мой пример приложения добавляет туда данные:

dashboard - database

Но когда я добавляю данные,Я не вижу, чтобы мои функции срабатывали.Счетчик функций -> вкладка использования остается на 0 даже через несколько минут:

dashboard - functions - usage

Мои функции находятся в узле 8 и используют async / await , но как package.json, так и firebase.json указывают

"engines": {
  "node": "8"
},

примечания:

добавил снимок экрана с вкладкой использования, чтобы показать, что console.log вероятно выигралничего не говори.

1 Ответ

0 голосов
/ 14 февраля 2019

Поскольку на панели инструментов функций отображается триггер «ref.write», это означает, что ваша облачная функция запускается при записи в базу данных реального времени , а не в Cloud Firestore .Это две разные службы базы данных, предлагаемые Firebase.

Вы должны адаптировать свой код, следуя этой документации: https://firebase.google.com/docs/functions/firestore-events?authuser=0

Например, например:

exports.firestoreTrigger = functions.firestore
  .document('/sampleData/metrics/{uid}/{document}')
  .onCreate((snapshot, context) => {
    const msgData = snapshot.data();
    console.log(msgData);
    return null;
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...