Подтвердить что ты не робот

Использовать облачную функцию firebase для отправки запроса POST на сервер, отличный от Google.

Мне было интересно узнать, возможно ли использовать функцию облачной службы firebase для отправки почтового запроса на сервер без Google (из того, что я могу найти, мне нужно быть в плане пламени, чтобы взаимодействовать с серверами не google)

В основном я хочу, чтобы POST на внешний сервер, работающий на arduino всякий раз, когда значение добавляется в мою базу данных.

Я просмотрел документы и нашел примеры того, что облачная функция отвечает на HTTP-запрос (HTTP-облачные функции), но не может найти примеров публикации на внешний сервер. Возможно ли это?

4b9b3361

Ответ 1

Это можно сделать, используя модуль request:

// import the module
var request = require('request');

// make the request
request('put your external url here', function (error, response, body) {
    if (!error && response.statusCode == 200) {
        //here put what you want to do with the request
    }
})

ПРИМЕЧАНИЕ. Это будет работать только на платных планах. Невозможно вызывать не-google API, используя бесплатный план Spark, как описано на странице Firebase:

План Spark позволяет отправлять исходящие запросы только на сервисы, принадлежащие Google. Запросы на входящие вызовы разрешены в пределах квоты. В плане Blaze функции Cloud обеспечивают бесконечный свободный уровень. Первые 2 000 000 вызовов, 400 000 ГБ-сек, 200 000 CPU-сек и 5 ГБ интернет-трафика для выхода предоставляются бесплатно каждый месяц. Вы платите только за использование этого бесплатного выделения. Ценообразование основано на общем количестве приглашений и времени вычисления. Время вычисления переменной зависит от объема памяти и процессора, предоставленного для функции. Пределы использования также применяются через ежедневные и 100-летние квоты. Для получения дополнительной информации см. Цены облачных функций.

Ответ 2

Вам нужно установить пакет. Перейдите в каталог Firebase-Funcions в терминале и введите

npm install request

ИЛИ

npm install request-promise

Используйте этот пример для теста: https://www.npmjs.com/package/request