当前位置: 首页 > 知识库问答 >
问题:

谷歌云平台HTTP功能支持路由参数吗?

司徒志
2023-03-14

这是一个比我来这里更简单的问题,但我一直在努力寻找答案,但我绝对不能-

我知道我总是可以通过另一种方式,但这更干净,更符合我们想要使用的设置,所以我真的很想让它工作,如果可能的话。有什么方法可以做到这一点,我完全不知道还是根本不支持?

共有1个答案

岑元徽
2023-03-14

我已经联系了支持小组,似乎是的,这是支持的-您只需要使用req.path来提取完整的路径,然后以某种方式解析它(我使用了path-to-regexp)

示例代码:

exports.myFunction = function(req, res) {
    var keys = [];
    var re = pathToRegexp('/:paramA/:paramB/not-a-param/:paramC/also-not-a-param/:paramD?', keys, {strict: false});
    var pathVars = re.exec(req.path);
    if (pathVars) {
        console.log(JSON.stringify(pathVars));
        var paramA = pathVars[1];
        var paramB = pathVars[2];
        var paramC = pathVars[3];
        var paramD = pathVars[4];
        // Do stuff with the rest of your functionality here
        res.status(200).send('Whatever you wanna send');
    }
}

部署该命令的命令行代码类似于GCloud beta functions deploymfunction--stage-bucket --trigger-http (此处为该命令的完整文档)。然后,您的新endpointURL将是https:// - .cloudfunctions.net/ - .cloudfunctions.net/myfunction/paramb/not-a-param/paramc/als-not-a-param/paramd ,然后您可以在实际进行调用时向其追加后续查询或路由参数(例如,对

请注意:

  1. 除非使用--entry-point标志,否则函数的导出名称应与CLI中使用的名称相同。此名称将用于生成的URL中。
  2. --stage-bucket 命令是可选的,但我一直使用它。
  3. 云函数将自动查找名为index.jsfunction.js文件来查找函数,但是如果提供的package.json文件包含main条目,那么云函数将查找它。
  4. 我想这将在某个时候离开beta,这时您应该更新到新的命令工具。
 类似资料:
  • 我想创建一个应用程序,在后端我想写代码node.js谷歌云平台支持node.js? 我可以看到只有Python,Java,PHP和GO支持。

  • 对于这个问题,这里可能是错误的地方,所以如果有必要,请重新指示我。 我使用Google Cloud函数部署了几个简单的函数,它们可以实现以下功能: 从AWS读取文件并写入云SQL 我将这些函数作为单独的函数,因为(1)通常需要比云函数最大超时更长的时间。正因为如此,我正在考虑将这一切作为一项服务转移到App Engine。关于应用程序引擎标准,我的问题是: 请求超时是什么意思?如果我运行这个服务,

  • 因此,你对以下方面有何建议: 为了使功能更有效,我应该更改哪些功能? 使我的函数自动化以便每小时运行一次的另一种方法? FYI my cloud功能具有以下特点: null

  • 上面写着“Google Cloud Messaging(GCM)是一个免费服务”,但是为了使它能够运行,我需要在Google Cloud平台中创建一个项目,这需要花钱…那怎么免费呢?还是我错过了什么?

  • null 我的用户应该能够创建只有计算迫害管理和计算网络管理角色的项目吗?

  • 我有点困惑。在谷歌云SQL常见问题页面上说UDF不支持。但是,我可以导入现有函数或在数据库中创建新函数。所以,为了确认,谷歌云SQL现在支持UDF创建吗?我们需要验证这一点,因为我们计划将现有数据库移动到谷歌云SQL它使用了大量的UDF。我正在云中设置MySQL数据库版本5.6(预览版)SQL 谢谢你。