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的云功能中执行此操作的方法是什么?
一种方法是制作自己的路径处理程序。当然,你可以使用 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 中的任何其他内容,您可以使用这样的处理程序。
云功能没有内置版本控制.您可以获得的最接近的默认URL是将版本写入函数名称:getUsers_v2.
如果您使用Firebase托管为您的云功能提供友好的网址,您当然可以将每个单独的功能映射到您想要的网址.