如何在firebase的云功能中添加版本

N S*_*rma 7 node.js firebase firebase-realtime-database google-cloud-functions

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

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

});
Run Code Online (Sandbox Code Playgroud)

我需要在函数中做一些更改,并希望保持相同的函数名称.我想在云功能中添加版本,以便可以像这样访问它

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

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

Div*_*ngh 7

一种方法是制作自己的路径处理程序。当然,你可以使用 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;
   }
});
Run Code Online (Sandbox Code Playgroud)

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


Fra*_*len 6

云功能没有内置版本控制.您可以获得的最接近的默认URL是将版本写入函数名称:getUsers_v2.

如果您使用Firebase托管为您的云功能提供友好的网址,您当然可以将每个单独的功能映射到您想要的网址.

  • 您可以将Express应用程序配置为能够使用HTTP端点所需的任何路径.如果要在路径中放置版本字符串,请随意执行此操作./sf/ask/3186192831/ (2认同)