I'm trying to use a functions.config() variable of the firebase functions environment, to be able to switch logs on/off depending on, whether this variable is set to true/false. I have already created it, but it seems based on info from the following link (), that you can change it only if you redeploy the function, after you have used the firebase functions:config:set mand to change the environmental variable first.
It appears that it could be achieved though, by using gcloud functions mands for deploying the function (gcloud deploy and not firebase deploy), with the --set-env-vars mand (and different syntax to access the env. variable). Then this environmental variable can be changed easily by just changing value of the variable by navigating to the specific function at GCP console, and then by going to EDIT -> MORE and changing Environment variables at the bottom.
source:
So my question is the following: Is there a similar way to change a firebase functions.config() variable without redeploying the function from the cli?
I'm trying to use a functions.config() variable of the firebase functions environment, to be able to switch logs on/off depending on, whether this variable is set to true/false. I have already created it, but it seems based on info from the following link (https://firebase.google./docs/functions/config-env#additional_environment_mands), that you can change it only if you redeploy the function, after you have used the firebase functions:config:set mand to change the environmental variable first.
It appears that it could be achieved though, by using gcloud functions mands for deploying the function (gcloud deploy and not firebase deploy), with the --set-env-vars mand (and different syntax to access the env. variable). Then this environmental variable can be changed easily by just changing value of the variable by navigating to the specific function at GCP console, and then by going to EDIT -> MORE and changing Environment variables at the bottom.
source:
https://cloud.google./functions/docs/env-var
So my question is the following: Is there a similar way to change a firebase functions.config() variable without redeploying the function from the cli?
Share Improve this question asked Jan 2, 2019 at 14:51 Antonis SAntonis S 7736 silver badges16 bronze badges 1-
1
The answer below isn't correct. You are currently required to deploy your function again if you want to update the configuration found in
firebase.confg()
. – Doug Stevenson Commented Jan 2, 2019 at 18:16
3 Answers
Reset to default 3Update: (credit to Doug Stevenson) Apparantly the only way to change the environment variable is to do a deploy.
Original answer: You can do it the same way. Basically every Firebase Cloud Function is a Google Cloud Function and can be accessed the same way from the GCP console. Every Firebase Cloud Function is also present in the GCP console, and there you can easily just edit the environment variables just as you described in your question)
Just to add to Andrii's answer you need to redeploy any function that requires the new config. Each deployed function is isolated from all other functions so won't get config updates without a redeploy.
Andrii is totally right - you have to deploy your functions in order to update the environmental variables.
However, I just wanted to post a quick hack in case you have some CI/CD jobs and you don't really deploy your functions manually.
In this case, what I do, although a bit tedious, is the following:
- Add a mock function of some sort, e.g.
exports.helloWorld = functions
.https.onRequest((req, res) => res.status(200).json({ message: 'Great success!' }))
- I run
firebase deploy --only functions:helloWorld
to make sure I only deploy this function to prevent breaking the functions that are currently used in production. - Go to Firebase Console, open up your project's Functions section and delete
helloWorld
.