Ответ 1
TL; DR
firebase functions:delete yourFunction
объяснение
По сути, Cloud Functions ожидает один и тот же триггер для каждой функции все время, то есть после того, как она создана, она должна придерживаться своего исходного триггера, потому что каждое имя функции связано с определенным триггером. Поэтому триггер можно изменить, только сначала удалив функцию, а затем создав ее снова с другим триггером.
Теперь это можно легко сделать с помощью functions:delete
команда functions:delete
:
firebase functions:delete yourFunction
Документация также содержит более продвинутые варианты использования.
Старое решение
Решением этой проблемы является комментирование или отключение вашей функции, а затем сохранение файла функций и его развертывание. Функция будет удалена в Firebase, но после этого вы можете вставить/раскомментировать свою функцию, и она снова будет нормально развернута. Эта ошибка возникает, когда вы берете функцию и изменяете тип триггера, который она использует, то есть HTTP, базу данных или аутентификацию.
Сначала вырежьте это
/* exports.yourFunction = someTrigger... */
А затем, после развертывания ("развертывание firebase"), замените ваш триггер
exports.yourFunction = anotherTrigger...