作者:宜宾开心花行 | 来源:互联网 | 2023-02-06 16:27
我想知道是否可以使用firebase云功能向非谷歌服务器发送一个帖子请求(我可以找到我需要在火焰计划上与非谷歌服务器进行交互)
基本上我想在每次将值添加到数据库时POST到运行在arduino上的外部服务器.
我查看了文档并找到了云函数响应HTTP post请求(HTTP云函数)的示例,但似乎无法找到任何发布到外部服务器的示例.这可能吗?
1> stodi..:
这可以使用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
}
})
注意:这仅适用于付费计划.如Firebase定价页面所述,无法使用免费的Spark计划调用非Google API :
Spark计划仅允许出站网络请求到Google拥有的服务.配额内允许入站调用请求.在Blaze计划中,云功能提供永久免费套餐.每月免费提供前2,000,000次调用,400,000 GB-sec,200,000 CPU-sec和5 GB Internet出口流量.您只需支付超过此免费分配的使用费.定价基于调用总数和计算时间.计算时间可根据为函数配置的内存量和CPU量而变化.使用限制也通过每日和100s配额强制执行.有关更多信息,请参阅云功能定价.
如果您的请求是另一个Google拥有的服务,这将适用于未付帐户(Spark Plan)."Spark计划仅允许出站网络请求到Google拥有的服务.配额内允许入站调用请求." (https://firebase.google.com/pricing/)
它更像是来自./project/functions文件夹中的`npm i --save request`
还需要付费的firebase帐户 - 适用于Blaze计划
@matth你需要安装请求模块`npm install request`
2> 小智..:
您需要安装该软件包.转到终端中的Firebase-Funcions目录并键入
npm install request
要么
npm install request-promise
使用此示例进行测试:https://www.npmjs.com/package/request
实际上,为了成功使用firebase函数,所有`npm install`都需要使用`--save`标志来完成.在部署时要注意避免恼人的"无法找到模块"错误.
@HirdayGupta自[npm@5.0.0(2017年5月25日)](https://blog.npmjs.org/post/161081169345/v500)起,默认情况下会添加--ave