Firebase云函数服务器端全局变量

2024-03-18

有可能有一种全局变量关于 firebase 云功能?

我的意思是我可以有一个index.js就像设置全局变量一样,比方说panicModeVariable.

我想在执行任何操作之前检查我的云函数中的此变量,例如在 auth create user 触发器中。

const functions = require('firebase-functions');
const admin = require("firebase-admin");
admin.initializeApp(functions.config().firebase);

var globalVariable = false;

// Create Account User
exports.createUserAccount = functions.auth.user().onCreate(event => {
    if (!globalVariable) {
        const uid = event.data.uid
        const email = event.data.email
        const photoUrl = event.data.photoURL
    }
    [...]

我尝试使用两个虚拟函数

exports.setGlobal = functions.https.onRequest((request, response) => {
    globalVariable = true;
    response.send("Set " + globalVariable);
});

exports.getGlobal = functions.https.onRequest((request, response) => {
    response.send("Read " + globalVariable);
});

但似乎我无法按照我想要的方式访问这个变量。

写入函数使用“局部”变量,而读取函数始终使用初始值。

如果可能的话,我想这样做,拥有一种服务器端变量直接读取,无需调用 SDK 来读取数据库存储的值(这样就没有函数调用计数)。


您可以使用环境配置变量https://firebase.google.com/docs/functions/config-env https://firebase.google.com/docs/functions/config-env

据我所知,您无法在函数本身中设置它们,需要在上传函数之前通过 CLI 设置它们。

你可以做类似的事情firebase functions:config:set panic.mode=true

然后在你的createUserAccount你可以调用的函数functions.config().panic.mode

但这对你没有帮助set变量通过https扳机。为此,您需要使用数据库。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Firebase云函数服务器端全局变量 的相关文章

随机推荐

  • 有什么方法可以使用 boto3 直接将文件写入 S3 吗?

    我编写了一个 python 脚本来处理非常大的文件 总共几 TB 我将在 EC2 实例上运行该脚本 之后 我想将处理后的文件存储在 S3 存储桶中 目前 我的脚本首先将数据保存到磁盘 然后将其上传到S3 不幸的是 考虑到等待实例首先写入磁盘
  • Google PageSpeed 用户代理的名称是什么?

    这一页 https developers google com speed docs insights faq whyonlinediff表示它使用自定义用户代理 但没有提及名称 如果用户代理来自 PageSpeed 我希望能够运行一些逻辑
  • VS2013测试代理和控制器不通信

    我有一个运行 VS2013 负载测试控制器的 Windows Azure VM 和另一个运行 2013 负载测试代理的 Azure VM 我一直无法让两人成功沟通 我将每个虚拟机的主机名和 IP 添加到另一个虚拟机的 HOSTS 文件中 我
  • 依赖注入上下文中的组合根是什么?

    我正在探索依赖注入和术语成分根到处都在使用 那么它是什么 组合根是应用程序中使用依赖项注入容器组合应用程序的对象图的单个位置 尽管如何完成此操作无关紧要 它可以使用容器 也可以使用手动完成 pure DI http blog ploeh d
  • 是否可以在 HTML 中创建多级有序列表? [复制]

    这个问题在这里已经有答案了 我要这个 1 Main 1 1 sub1 1 2 sub2 2 Main2 2 1 sub3 可以在 HTML 中做到这一点吗 谢谢 这个解决方案对我有用 hide original list counter o
  • 我什么时候使用像 Paxos 这样的共识算法,什么时候使用像向量时钟这样的算法?

    我已经阅读了很多有关保证分布式系统中节点之间一致性的不同策略的文章 但我在弄清楚何时使用哪种算法时遇到了一些麻烦 我会在什么样的系统中使用矢量时钟之类的东西 哪个系统最适合使用 Paxos 之类的东西 两者是互相排斥的吗 有一个由 2 个节
  • Laravel 有许多多对多对一雄辩

    我没有太多运气以 Laravel 的方式解决这个问题 所以我提出两个问题 假设我有一辆汽车 并且该汽车可以有许多特征 但该特征也按特征类型分隔 我如何返回所述汽车的所有特征 分隔特征类型 我有四个表 listings features 是数
  • 调整 UISearchDisplayController 变暗黑色覆盖层的大小

    单击搜索栏后 有人知道如何过度调整暗黑色的大小吗 当我单击 取消 时 我遇到问题 表格视图将消耗然后动画消失 我用它来调整我的结果表视图的大小 void searchDisplayController UISearchDisplayCont
  • 寻找良好的服务器端语言,允许玩家上传可执行的代码

    我有一个想要编写的程序的想法 但哪种语言最好是我的问题 如果我有一款赛车游戏 并且希望允许用户提交新的交互式 3D 赛道 想想 Speed Racer 电影中的赛道 车辆及其自动驾驶车辆的代码 那么他们将创建 AI对于他们的汽车来说 这将使
  • jquery datatable 使用表单编辑表行数据

    var tb example DataTable addRow on click function var typeName type option selected val var amount amount val tb row add
  • Java中的快速队列

    我正在寻找一个快速queueJava 中的实现 我看到LinkedList实施Queue接口 但它只会像LinkedList正确的 有没有一种方法可以让队列更快 特别是对于add 我只需要poll add并检查empty 以后我可能还需要一
  • 如何提取在 R 中运行 c5.0 决策树和基于规则的模型的错误率?

    我尝试在 R 中使用 c50 包 如中所述这个答案 https stats stackexchange com a 84021 我运行了以下命令 gt set seed 1 gt mod lt train Species data iris
  • 选项卡栏和地图视图问题

    我对这个问题真的很困惑 我最近在应用程序中的地图视图选项卡上遇到了问题 甚至到了重新开始的地步 我只是想知道我是否是唯一遇到此问题的人 或者我在这里做错了什么 我对 iOS 相当陌生 但我知道如何定义地图视图的中心和跨度 以便以用户位置为中
  • 如何将多个列分组为单个数组或类似数组?

    我希望我的查询返回这样的结构结果 其中tags是数组的数组或类似的数组 id name tags 1 a 1 name1 color1 2 name2 color2 2 b 1 name1 color1 3 name3 color3 我期望
  • 根据 Google 表格中的用户名查看特定行

    假设我有一个谷歌网站 该网站上有一个电子表格小工具 我希望小工具根据查看网站的用户的用户名显示电子表格中的某一特定行 这可以用 GAS 实现吗 Update function onOpen var ss SpreadsheetApp ope
  • Jupyter/iPython Notebook 的 Root 访问权限

    我正在尝试在 iPython Jupyter 笔记本中使用 bash 内核 但我需要在笔记本本身内进行 sudo 访问 我试过了 sudo jupyter notebook以 root 身份运行笔记本 但这只会返回 jupyter note
  • 使用 Solr 为多种语言建立索引

    我们正在设置一个 Solr 来索引文档 其中标题字段可以采用多种语言 谷歌搜索后我发现了两个选择 定义不同的模式字段 每种语言 即 title en title fr 应用不同 过滤到每种语言然后查询 带有 a 的标题字段之一 相应的语言
  • 我应该在 Laravel 中嵌套资源的路由吗?

    这可能有点主观 但我认为最佳实践必须存在 甚至对于 Laravel 应用程序来说 良好的设计 谷歌搜索的结果很多与这个问题的实际要点无关 假设我正在构建一个 Web 应用程序 该应用程序有团队 可能有项目 可能有文档 我应该设计路由 使文档
  • 批量命令复制、重命名然后移动全部失败

    我的简单批处理文件中出现一些错误 该文件旨在将文件 xyz 4do 复制到同一目录 然后将复制的文件重命名为 abc 4do 最后将复制 重命名的文件移动到不同的文件夹 我的代码如下 我已经评论了发生错误的地方 ECHO off CLS S
  • Firebase云函数服务器端全局变量

    有可能有一种全局变量关于 firebase 云功能 我的意思是我可以有一个index js就像设置全局变量一样 比方说panicModeVariable 我想在执行任何操作之前检查我的云函数中的此变量 例如在 auth create use