将自定义参数/查询/标头添加到 Google Cloud 函数

Chr*_*ouw 2 javascript node.js google-cloud-platform google-cloud-functions

我基本上想知道我是否可以让 https Google Cloud 函数根据我作为参数传递给它的内容以不同的方式执行(就像任何带参数的普通函数一样)。可能使用 URL 内的简单查询或任何其他有效的方法。

例如,看一下任何教程中的基本启动函数:

exports.helloWorld = functions.https.onRequest((req, res) => {
  res.status(200).send('Hello, World!');
});
Run Code Online (Sandbox Code Playgroud)

我想做这样的事情:

exports.helloWorld = functions.https.onRequest((req, res) => {
  let name = req.query;
  res.status(200).send(`Hello, ${name}!`);
});
Run Code Online (Sandbox Code Playgroud)

我希望这是有道理的。任何帮助,将不胜感激。

Den*_*rev 5

事实上,可以将各种参数传递给您的云函数。

这是一个简单的例子供您参考:

索引.js

exports.helloWorld = (req, res) => {
  let name = req.body.name || req.query.name;
  res.status(200).send(`Hello ${name}!`);
};
Run Code Online (Sandbox Code Playgroud)

我可以通过为触发该函数提供的URL来调用它,方法是在该 URL 后面附加以下内容/?name=<desired-name>

https://<function-region>-<project-name>.cloudfunctions.net/<function-name>/?name=Christiaan
Run Code Online (Sandbox Code Playgroud)

或者,也可以使用curl来调用:

curl --data "name=Christiaan" https://<functions-region>-<project-name>.cloudfunctions.net/<function-name>
Run Code Online (Sandbox Code Playgroud)

输出

Hello Christiaan!
Run Code Online (Sandbox Code Playgroud)