限制每个用户的可调用 https firebase 云函数执行?
Throttling callable https firebase cloud function execution per user?
我找不到任何关于此的资源,因此想问一下,在每个用户的基础上向 firebase 中的可调用 https 云函数添加限制是否是个好主意/是否有必要?
例如,我想限制一个用户每5秒只能调用一次https函数。
如果这是可行的事情,将如何实现?
云函数中没有任何内置的每用户限制功能。您有几个选择可以自己做:
- 在您的客户端应用程序中放置逻辑来跟踪用户呼叫它们的次数,如果太频繁则拒绝呼叫
Issue here is that if someone is trying to game you this wouldn't be 100% effective as they could use multiple windows, etc.
- 您可以实施一个数据库解决方案,在其中跟踪它们的使用情况,并在您的函数开始时检查它们是否违反了您的速率限制
Issue here is you are still having the triggers of your functions incurring the costs.
- 如果这对您来说是个大问题,我建议您考虑使用 API 管理平台,例如 Apigee where you can apply policies such as rate limiting
This a heavy weight solution with an increased cost and so wouldn't do it unless necessary
我找不到任何关于此的资源,因此想问一下,在每个用户的基础上向 firebase 中的可调用 https 云函数添加限制是否是个好主意/是否有必要?
例如,我想限制一个用户每5秒只能调用一次https函数。
如果这是可行的事情,将如何实现?
云函数中没有任何内置的每用户限制功能。您有几个选择可以自己做:
- 在您的客户端应用程序中放置逻辑来跟踪用户呼叫它们的次数,如果太频繁则拒绝呼叫
Issue here is that if someone is trying to game you this wouldn't be 100% effective as they could use multiple windows, etc.
- 您可以实施一个数据库解决方案,在其中跟踪它们的使用情况,并在您的函数开始时检查它们是否违反了您的速率限制
Issue here is you are still having the triggers of your functions incurring the costs.
- 如果这对您来说是个大问题,我建议您考虑使用 API 管理平台,例如 Apigee where you can apply policies such as rate limiting
This a heavy weight solution with an increased cost and so wouldn't do it unless necessary