node.js - HTTP POST 谷歌云函数 NodeJS
问题描述
如何编写将接收 HTTP 请求然后将 HTTP POST 请求发送到不同端点的 Google Cloud 函数?
例如,
我可以将 HTTP 触发器发送到我的云功能(https://us-central1-plugin-check-xxxx.cloudfunctions.net/test)。我
exports.test = function helloWorld(req, res){}
用来处理收到的数据。然后我想通过 HTTP POST 请求将处理后的数据发送到不同的端点。
到目前为止,我已经尝试使用node-webhooks、request 和 restler模块发送 HTTP POST,但它们似乎都不起作用。是因为这些模块与exports.test一起使用吗?
我的问题与这个问题有关,但答案对我没有帮助。
发送到端点的数据是json & Content-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 不允许在没有有效结算信息的情况下向外部服务器发出出站请求,以防止任何恶意活动。
配置计费帐户后,我能够发出出站请求,并且问题中提到的所有节点模块都有效。
推荐阅读
- flutter - StaggeredGridView 的动态高度在颤振项目中不起作用
- c++ - 如何在 Visual Studio 17 c++ 中使用 curl 发布到没有身份验证的服务器
- python - 根据列表更改文本和图像刺激
- c# - HttpClient 发布请求,并收到此错误“StatusCode:500,ReasonPhrase:'内部服务器错误',版本:1.1,”
- r - R:使用 corrplot 使用圆圈的大小和颜色可视化两个变量(例如,相关性和 p 值)
- terraform - Terraform: Code="LinkedInvalidPropertyId" Message="Property id '' at path 'properties.hostingEnvironmentProfile.id' 无效
- jquery - 模态滚动问题
- tomcat - Netbeans 11 无法管理 Tomcat 9(已解决)
- java - 即使在添加类路径和主类之后也没有主清单属性 maven 构建
- javascript - 如何在数据表中添加编辑和删除按钮