我是否应该为每个 http 请求使用 Firebase Cloud 函数



编写一个允许用户RegisterLoginUpdate Account InfoPost (Each post contains a short message with 1500 chars or less and/or up to 9 images)Download Posts的 React Native 应用程序。我可以在不使用云函数的情况下完成所有这些任务,但我想知道哪种方法更好,为什么?

例如,要Set user's account info,我可以在我的应用程序中执行以下操作:

    firebase.database().ref(`users/${uid}`)
                       .set({
                           firstName: 'Stack',
                           lastName: 'Overflow'
                       });

或者我可以简单地编写一个 firebase 云函数,每次我想设置用户的帐户信息时,我都可以执行以下操作:

    const SET_ACCOUNT_URL = 'https://firebase.set_account_url.com';
    axios.post(SET_ACCOUNT_URL, {
        firstName: 'Stack',
        lastName: 'Overflow'
    })
    .then(() => ...Do Something Here...)
    .catch((error) => console.log(error));

哪种方法更好,为什么?

这里很大程度上取决于规模。如果您保持在免费计划限制范围内,那么天空就是极限。如果您正在大规模工作,那么您将支付 RTDB 的带宽以及函数的调用,这可能是多余的。

如果不了解您的用例,很难预测什么会有用,请参阅XY问题。

作为一般规则,您始终可以在以后添加函数,因为它们可以从数据库写入触发。因此,如果写入就足够了,就这样做。稍后,您可以在该写入中触发事件,以执行所需的任何进一步操作。

如果您需要隐藏专有功能(即商标算法或安全游戏逻辑),请使用函数。如果您知道要对该数据进行计算,或者数据库事件无法触发该数据,请使用函数。

如果它最终会进入数据库,并且目标是验证或限制访问,请写入数据库并使用安全规则。

相关内容

  • 没有找到相关文章

最新更新