Почему облачная функция firebase не запускается при создании документа в ответах - PullRequest
1 голос
/ 30 октября 2019
exports.createHook = functions.database.ref('/Responses/{ResponsesId}').onCreate((snap, context) => {
    console.log('triggered')
    var response = snap.val
    console.log(response.text);
});

Я написал в Firestore, и он не запускается, что мне не хватает?

Вот изображение моей панели функций ее явно развертывается в облаке

Вот картинка из журналов это только регистрация, когда функция построена, поэтому она не выполняется.

1 Ответ

1 голос
/ 31 октября 2019

Я написал в firestore , и он не запускается

Возможно, вы написали в Firestore, но ваш код написан как Firebase RealtimeТриггер базы данных (используется functions.database). Вам нужно использовать триггеры Firestore , чтобы реагировать на события в Firestore (альтернативно, вам нужно записывать свои обновления в базу данных реального времени, а не в Firestore).

Очень легко запутаться(они названы так одинаково!), но они не одинаковы и должны кодироваться по-разному.

Например, прототип для триггера Firestore onCreate должен выглядеть примерно так:

exports.createHook = functions.firestore
    .document('Responses/{ResponsesId}')
    .onCreate((change, context) => { .... }

Также в ветке комментариев отмечу, что вы сказали "onCreate должен вызывать каждый раз, когда происходит запись в ссылку". Это не правильно. onCreate вызывается только при первой записи документа.

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