如何在 Firebase 的云功能中添加版本
Posted
技术标签:
【中文标题】如何在 Firebase 的云功能中添加版本【英文标题】:How to add version in cloud function for 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 的云功能中执行此操作的方法是什么?
【问题讨论】:
【参考方案1】:Cloud Functions 没有内置版本控制。最接近默认 URL 的方法是将版本写入函数名称:getUsers_v2
。
如果您使用 Firebase 托管为您的 Cloud Functions 提供友好的 URL,您当然可以map each individual function to the URL you want。
【讨论】:
您可以将 Express 应用程序配置为能够为 HTTP 端点使用您想要的任何路径。如果您想在路径中放置版本字符串,请随意这样做。 ***.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 中的任何其他内容,您可以使用这样的处理程序。
【讨论】:
以上是关于如何在 Firebase 的云功能中添加版本的主要内容,如果未能解决你的问题,请参考以下文章
Firebase 的云功能 - 获取当前用户 ID [重复]
如何在 firebase 托管的 webapp 中获取 firebase 函数 URL?
导出 Firestore 备份数据的云功能。使用 firebase-admin 或 @google-cloud/firestore?