Вызов вашей облачной функции через URL-адрес и отправка ответа
Выполнив exports.firstTest = functions.database.ref('first').onWrite()
, вы запускаете облачную функцию firstTest
, когда данные создаются, обновляются или удаляются в базе данных реального времени.Он называется фоновым триггером , см. https://firebase.google.com/docs/functions/database-events?authuser=0
С этим триггером все происходит в серверной части , и у вас нет доступа к запросу (или ответ).Облачная функция не имеет никакого понятия о внешнем интерфейсе: например, она может быть запущена другим внутренним процессом, который записывает в базу данных.Если вы хотите обнаружить во внешнем интерфейсе результат облачной функции (например, создание нового узла), вам необходимо настроить прослушиватель для прослушивания местоположения этого нового узла.
Если вы хотите вызвать свою функцию через HTTP-запрос (возможно, из вашего интерфейса или из другого «потребителя API») и получить ответ на HTTP-запросвам необходимо использовать другой тип облачной функции, HTTP Cloud Function , см. https://firebase.google.com/docs/functions/http-events. См. также другой тип облачной функции, который вы можете вызвать напрямую: Callable Cloud Functions.
Наконец, обратите внимание, что:
Вызов из вашей облачной функции внешнего URL-адреса
Если вы хотите из облачной функции вызывать внешний URL-адрес (например, веб-крючок Slack, упомянутый в вашем вопросе), вам нужно использовать библиотеку, такую как request-promise
(https://github.com/request/request-promise).
* 1044).* См.
Как получить URL с помощью функций Google Cloud? Запрос? or
URL-адрес вызова функций Google Cloud, размещенный на Google App Engine для некоторых примеров
Важно : обратите внимание, что вам нужно быть по ценам "Flame" или "Blaze"plan.
На самом деле, бесплатный план «Spark» «разрешает исходящие сетевые запросы только в сервисы, принадлежащие Google».См. https://firebase.google.com/pricing/ (наведите курсор мыши на вопросительный знак, расположенный после заголовка «Облачные функции»)