Node.js HTTP POST谷歌云功能节点
如何编写一个GoogleCloud函数来接收HTTP请求,然后将HTTP POST请求发送到另一个端点 比如说,Node.js HTTP POST谷歌云功能节点,node.js,http,post,google-cloud-functions,webhooks,Node.js,Http,Post,Google Cloud Functions,Webhooks,如何编写一个GoogleCloud函数来接收HTTP请求,然后将HTTP POST请求发送到另一个端点 比如说, 我可以将HTTP触发器发送到我的云函数()。我正在使用exports.test=函数helloWorld(req,res){}来处理接收到的数据 然后我想用一个HTTP POST请求将处理后的数据发送到另一个端点 到目前为止,我已经尝试使用节点webhook、request和restler模块发送httppost,但它们似乎都不起作用。是因为这些模块与exports.test一起
- 我可以将HTTP触发器发送到我的云函数()。我正在使用
来处理接收到的数据exports.test=函数helloWorld(req,res){}
- 然后我想用一个HTTP POST请求将处理后的数据发送到另一个端点
然而,在云函数中使用它是不可能的。因为它分布在不同的机器上。因此,跟踪是不可能的。在Node.js中编写的云函数中,您可以使用任何可以通过NPM访问的包。使用谷歌搜索查找此类软件包显示:
- 。。。其他
你选择哪一个通常取决于你的品味。我个人的选择是使用一个做这项工作,是最受欢迎的。我将受欢迎程度等同于持续支持和更新的可能性。正如@RenaudTarnec在评论中提到的,问题是我的计费帐户没有配置 谷歌不允许在没有有效计费信息的情况下向外部服务器发出出站请求,以防止任何恶意活动
配置计费帐户后,我能够发出出站请求,问题中提到的所有节点模块都工作正常 可能是@RenaudTarnec的复制品,不,我的问题与此无关。我在接收数据方面没有问题。我在从云函数发出HTTP(s)POST请求时遇到困难。这正是这个答案所涵盖的内容:如何从云函数向外部端点发出POST HTPP请求。请显示您尝试的一些代码以及结果。@Electric_90老实说,我不知道。。。我对云功能的体验仅限于通过Firebase CLI部署的Firebase功能。但据我所知,在这种情况下应该没有任何区别。我看到的唯一一点是,使用Firebase CF时,您需要在“Flame”或“Blaze”定价计划中。但您可以编辑一个数据库值,该值应该由其他用户打开。然后他可以实时得到这个。我在一个在线游戏中使用了这个方法。如果你想解析服务器的响应呢?
request
模块在2020年2月被弃用,因此上面的代码不再理想。4+1
post导致404。新的URL在这里
var request = require('request'); //also tried for node-webhook, restler modules
exports.test = function(req, res) {
//processing of received json data from source A.
}
function sendToEndpoint(processed_data) {
let abc = processed_data; //send processed data to source B
request.post({
uri: 'https://example.com',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify(abc)
});
}