【问题标题】:How to add version in cloud function for firebase如何在 Firebase 的云功能中添加版本
【发布时间】:2018-01-14 15:28:34
【问题描述】:

您好,我创建了一个云功能getUsers。可以像https://xyz.cloudfunctions.net/getUsers一样访问它

exports.getUsers = functions.https.onRequest((request, response) => {

});

我需要对函数进行一些更改并希望保持相同的函数名称。我想在云功能中添加版本,这样就可以这样访问了

https://xyz.cloudfunctions.net/getUsers/v2

在 Firebase 的云功能中执行此操作的方法是什么?

【问题讨论】:

    标签: node.js firebase firebase-realtime-database google-cloud-functions


    【解决方案1】:

    Cloud Functions 没有内置版本控制。最接近默认 URL 的方法是将版本写入函数名称:getUsers_v2

    如果您使用 Firebase 托管为您的 Cloud Functions 提供友好的 URL,您当然可以map each individual function to the URL you want

    【讨论】:

    • 您可以将 Express 应用程序配置为能够为 HTTP 端点使用您想要的任何路径。如果您想在路径中放置版本字符串,请随意这样做。 stackoverflow.com/questions/45517040/…
    【解决方案2】:

    一种方法是创建自己的路径处理程序。当然,您可以使用 express,但我选择不为此使用它。

    exports.getUsers = functions.https.onRequest((request, response) => {
    
       const path = request.path;               // '/getUsers/v2'
    
       const version = path.split('/')[2];      // ['', 'getUsers', 'v2']
    
       switch ( version ) {
    
          case 'v1': // Handle for v1; 
                 break;
    
          case 'v2': // Handle for v2; 
                 break;
       }
    });
    

    这将暴露您的端点直到https://xyz.cloudfunctions.net/getUsers,但对于尾随版本或 url 中的任何其他内容,您可以使用这样的处理程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-29
      • 2019-06-09
      • 2021-04-26
      • 2018-11-25
      • 2020-12-01
      • 2020-06-23
      • 1970-01-01
      相关资源
      最近更新 更多