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

How to add version in cloud function for firebase

您好,我创建了一个云函数 getUsers。它可以像 https://xyz.cloudfunctions.net/getUsers

一样访问
exports.getUsers = functions.https.onRequest((request, response) => {

});

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

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

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

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

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

一种方法是制作您自己的路径处理程序。当然,你可以使用 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 中的任何其他内容,您可以使用这样的处理程序。