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

标签 firebase google-cloud-functions

可能有一种 全局变量 关于 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

据我所知,您不能自己在函数中设置它们,它们需要在上传函数之前由 CLI 设置。

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

然后在您的 createUserAccount您可以调用的函数 functions.config().panic.mode
但这对您没有帮助set变量通过 https扳机。为此,您需要使用数据库。

关于Firebase 云函数服务器端全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48874686/

相关文章:

Firebase 云函数 - 返回未定义

ios - Swift 3 Firebase 检索 key 并传递给 View Controller

javascript - SPA - Firebase 和 .Net WebApi 2 身份验证

firebase - Firebase 存储文件结构的最佳做法是什么?

Firebase 存储文件夹删除

firebase - 是否可以在 Firebase 上使用云函数从 api 获取数据?

firebase HTTP 函数终止

android - 谷歌云功能 : edit Firebase node at a specific time

Firebase 存储 url,新文件保持相同的访问 token

FireBase sendMessage 函数更新到 v1 Google Cloud Endpoint