NodeJS 如何允许从gcp云函数向节点16发出请求?

nlejzf6q  于 2023-01-20  发布在  Node.js
关注(0)|答案(1)|浏览(110)

我正在使用带有云功能的节点16。我正在使用Twilio和Outlook API。我可以使用firebase function serve在我的本地系统中访问这个第三方API,
但当我在GCP上部署此功能时,所有传出请求(如访问第三方API)均不起作用,并给出相关错误,
连接超时,代码:“电子堕胎”。
我该怎么补救呢?

balp4ylt

balp4ylt1#

为了允许从Google Cloud Functions发出的请求使用Node.js版本16,您需要配置环境变量'FUNCTIONTRIGGERTYPE' to 'http'
这可以通过将以下内容添加到云函数的配置文件中来完成:

environment_variables:
  FUNCTION_TRIGGER_TYPE: http

一旦设置了环境变量,您就可以使用http模块从您的云函数内部发出请求。

const http = require('http');

exports.myFunction = (req, res) => {
  const options = {
    hostname: 'example.com',
    port: 80,
    path: '/',
    method: 'GET'
  };
  const req = http.request(options, (res) => {
    // handle response
  });
  req.end();
};

此外,还要检查以下几点:

  • 你应该确保你的VPC的网络访问控制列表允许来自云功能的出站请求。2你可以通过在VPC中添加一个出口规则来实现。
  • 还可以使用Node.js http或https模块发出请求。有关使用Node.js发出请求的详细信息,请参阅Node.js文档

相关问题