firebase - Firebase Cloud Functions 在云函数中设置环境配置
问题描述
我正在使用调用使用 OAuth2 安全性的外部服务的云功能。我的云函数的每次调用首先进行身份验证并获取访问令牌,以便随后对外部服务进行 API 调用。
访问令牌将在 30 分钟内过期,因此为避免令牌过期,每次调用我都会获得一个新令牌。
我想使用云功能调度程序来获取访问令牌并将其保存到云功能配置中,我可以安排每 25 分钟发生一次。这将避免每次调用都需要首先获取访问令牌。
看起来云功能环境配置不允许在云功能内以编程方式更新配置。
https://firebase.google.com/docs/cli/#functions-commands
有人解决了类似的问题吗?
更新:作为后续文档,需要再次部署云功能才能进行配置更新。我认为这个问题的解决方案很可能是 CI cronjob,它获取访问令牌、更新 firebase 云功能配置并重新部署云功能。
解决方案
我认为尝试更新函数的配置或完全重新部署函数并不是最好的主意。您最好将信息存储在数据库或其他共享位置,然后每个函数都可以根据需要查询以获取令牌及其元数据。该函数可以将令牌存储在内存中,只要它已知是有效的,这样就不必为每次调用获取它。
推荐阅读
- python - 为什么我不能用 pip 安装枕头
- ida - 汇编中的返回语句比源代码中的少
- javascript - 当我使用 Angularjs 的 ng-repeat 时,我需要防止对特定“类”的迭代。有人能帮我吗?
- html - HTML CSS 位置 div 左 中 右
- c++ - 如何从现有的 VS2019 (.exe) 项目为 android (Xamarin) 构建 .so 文件?
- javascript - 使用聚合查询出现错误,“字段名称 '$acknowledged' 不能是运算符名称”
- spring - 回滚场景的 RestCall 事务问题
- c++ - 我可以在 std::find_if 的并行版本中使用不可复制的迭代器吗?
- reactjs - 如何在样式组件中同时使用 (max-device-width) 和 (min-device-width)?
- php - cURL 错误 2:简单句柄已用于多句柄(参见 http://curl.haxx.se/libcurl/c/libcurl-errors.html)Google 客户端访问令牌