Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获取/设置firebase云函数v1环境变量_Firebase_Google Cloud Functions - Fatal编程技术网

如何获取/设置firebase云函数v1环境变量

如何获取/设置firebase云函数v1环境变量,firebase,google-cloud-functions,Firebase,Google Cloud Functions,我使用的是云函数包中的环境变量,使用的是Functions.config()命令,但由于我更新到了v1.0.2,所以我无法使用env变量,即使是通过JSON.parse(process.env.FIREBASE\u config)使用,就像文档告诉我的那样,我找不到如何设置或获取其他信息。此命令仅提供有关项目的信息,而不提供使用旧方法设置的信息。如何使用新方法获取/设置此信息? 提前谢谢。请在此处查看此答案。据我所知,新的云函数将在本地.runtimeconfig.json上运行。我建议暂时降级

我使用的是云函数包中的环境变量,使用的是
Functions.config()
命令,但由于我更新到了v1.0.2,所以我无法使用env变量,即使是通过
JSON.parse(process.env.FIREBASE\u config)
使用,就像文档告诉我的那样,我找不到如何设置或获取其他信息。此命令仅提供有关项目的信息,而不提供使用旧方法设置的信息。如何使用新方法获取/设置此信息?

提前谢谢。

请在此处查看此答案。据我所知,新的云函数将在本地
.runtimeconfig.json
上运行。我建议暂时降级并将旧配置写入该文件。然后,您可以使用这些文档获取代码,了解如何在再次升级时访问它

这个问题可能有点令人困惑。functions.config()不会消失-您仍然可以使用它访问使用Firebase CLI和
Firebase函数:config:set
设置的环境变量。配置方面发生的变化如下:

  • functions.config().firebase
    不再用于项目配置。该信息现在以
    process.env.FIREBASE\u CONFIG
    的形式存储在流程环境中
  • 现在,您可以在没有参数的情况下初始化Admin SDK,如
    Admin.initializeApp()
    。配置将从云功能运行时自动获取

    • 我所做的基本上就是拥有

      env.prod.ts
      env.dev.ts
      env.ts
      
      在环境方面,我是这样做的

      export const env = require(`./env.${functions.config().env.name}').default;
      
      在package.json中,我设置了

      "dev-prod": firebase use prod && functions:config:set env.name=prod
      
      等 所以我可以同时拥有fb键和我自己的prod键,整个应用程序都是配置无关的

      当我需要环境变量时,我只使用

      import environment from '../env.ts'
      

      使用json等(dotenv doesnt)

      我不理解你的问题。您仍然可以使用
      functions.config()
      访问Firebase CLI设置的环境变量。这一点都没有改变。这里不再有
      functions.config().firebase
      。哦,我误解了文档。你想写同样的东西作为答案,这样我就可以接受它作为正确的答案吗?非常感谢你再次提醒我,道格。谢谢你的回复,但这不是我的意思。我误解了文档,认为
      functions.config()
      方法不再有效。我不应该改变获取自定义信息的方法。啊,我明白了。如果其他人需要迁移或本地环境变量,我会把答案留在上面