最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - How to change a environmental variable (functions.config()) of a firebase function, without redeploying the functio

programmeradmin0浏览0评论

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
Add a ment  | 

3 Answers 3

Reset to default 3

Update: (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:

  1. Add a mock function of some sort, e.g.
exports.helloWorld = functions
  .https.onRequest((req, res) => res.status(200).json({ message: 'Great success!' }))
  1. 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.
  2. Go to Firebase Console, open up your project's Functions section and delete helloWorld.

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论