我想为GCF(节点版本)设置环境变量,我在这里遵循指南:https://cloud.google.com/functions/docs/configuring/env-var#setting_runtime_environment_variables
根据这些文档,添加环境变量的步骤都需要一个部署步骤,例如gcloud functions deploy <FUNCTION_NAME> --env-vars-file .env.yaml <FLAGS>
。这对我来说是不直观的,因为我需要首先在本地测试我的更改,以确保它们在部署它们之前工作。我在这里错过了什么,或者只是框架违反了最小惊喜原则的时刻?
我尝试使用npx functions-framework --env-vars-file .env-dev.yaml
运行本地函数,但env-vars-file
选项似乎在此上下文中被忽略。我还尝试使用dotenv-yaml,但我不确定如何将其与npx functions-framework
结合使用。
一个笨拙的解决方法是可用的.但是我不喜欢为dev做一些事情,比如只为本地dev做FOO=bar npx functions-framework
。如果有两个结构相同的yaml文件,一个用于dev,一个用于prod,那么在有很多变量的情况下会更容易管理。
TLDR:Google Cloud函数希望我将env vars保存在yaml中,那么在部署它们之前,我如何使用我的node函数在本地测试它们?
1条答案
按热度按时间muk1a3rh1#
受John汉利实用建议的启发,这种变通方法对于我的目的来说是可以接受的。它可能可以重构,但它现在已经完成了工作。如果函数框架在运行步骤中支持yaml env文件(用于节点运行时),那么这将是不必要的。根据Google的文档,如果使用buildpacks or containers,这也可能是不必要的,我们目前还没有。
package.json:
字符串
constants.js:
型