繁体   English   中英

HTTP POST Google Cloud Functions NodeJS

[英]HTTP POST Google Cloud Functions NodeJS

我该如何编写Google Cloud Function来接收HTTP请求,然后将HTTP POST请求发送到其他端点?

例如,

到目前为止,我已经尝试过发送带有node-webhooks,request和restler模块的HTTP POST,但是它们似乎都不起作用。 是因为这些模块与export.test一起使用?

我的问题与问题有关,但答案并没有帮助我。

发送到端点的数据为jsonContent-type:application / json

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)
  }); 

}

正如@RenaudTarnec在评论中提到的那样,问题是我的结算帐户未配置。

Google不允许在没有有效的帐单信息的情况下向外部服务器发出出站请求,以防止任何恶意活动。

配置计费帐户后,我可以发出出站请求,问题中提到的所有节点模块都可以工作。

使用Websockets SOCKET.IO是最佳选择。 https://socket.io/

但是,不可能在云功能中使用它。 因为它分布在不同的机器上。 因此,保持跟踪是不可能的。

在用Node.js编写的Cloud Function中,您可以使用可通过NPM访问的任何软件包。 使用Google搜索查找此类软件包显示:

您选择哪种通常取决于口味。 我个人的选择是使用能胜任且最受欢迎的一种。 我将受欢迎程度等同于不断提供的支持和更新。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM