如何将 google 凭据 json 放入生产环境变量中?
How to put google credential json in ENV variable for production?
我找不到如何将 google Json 凭据文件注入 ENV 变量以进行生产。我使用的依赖项称为 goth for elixir,我应该在应用程序启动时将这些凭据提供给它。
对于 json,我使用 Poison.encode!() 对 Google 的文件进行了编码,并将其用作我的 ENV 变量中的文本。
在我的开发配置文件中:有效
config :goth, json: {:system, "GCP_CREDENTIALS"}
在我的产品配置文件中:它不起作用并且我在 json
的开头不断收到语法错误
config :goth, json: {:system, '${GCP_CREDENTIALS}'}
有任何建议或任何使此工作有效并可以分享他的经验的人吗?
查看哥特自述文件,您似乎有几个选择。
- 通过以下方式将文件加载到配置中:
config :goth,
json: "path/to/google/json/creds.json" |> File.read!
- 将文件的全部内容放入环境变量中并执行:config :goth, json: {:system, "GCP_CREDENTIALS"}
- 通过你自己的模块:
config :goth, config_module: MyConfigMod
然后
defmodule MyConfigMod do
use Goth.Config
def init(config) do
{:ok, Keyword.put(config, :json, System.get_env("MY_GCP_JSON_CREDENTIALS"))}
end
end
我对配置中的“${GCP_CREDENTIALS}”可能是错误的,但我之前看到“${...}”的唯一地方是在酒厂中使用 REPLACE_OS_VARS=true
。如果你确实在使用酒厂,那么你不需要 {:system, "${GCP_CREDENTIALS}"} 元组,你可以把 config :goth, json: "${GCP_CREDENTIALS}"
放在 GCP_CREDENTIALS
env var 包含的地方凭据 json 文件的内容。
示例来源:https://github.com/peburrows/goth#installation
酒厂文档:https://hexdocs.pm/distillery/runtime-configuration.html#vm-args
我找不到如何将 google Json 凭据文件注入 ENV 变量以进行生产。我使用的依赖项称为 goth for elixir,我应该在应用程序启动时将这些凭据提供给它。
对于 json,我使用 Poison.encode!() 对 Google 的文件进行了编码,并将其用作我的 ENV 变量中的文本。
在我的开发配置文件中:有效
config :goth, json: {:system, "GCP_CREDENTIALS"}
在我的产品配置文件中:它不起作用并且我在 json
的开头不断收到语法错误config :goth, json: {:system, '${GCP_CREDENTIALS}'}
有任何建议或任何使此工作有效并可以分享他的经验的人吗?
查看哥特自述文件,您似乎有几个选择。
- 通过以下方式将文件加载到配置中:
config :goth, json: "path/to/google/json/creds.json" |> File.read!
- 将文件的全部内容放入环境变量中并执行:config :goth, json: {:system, "GCP_CREDENTIALS"}
- 通过你自己的模块:
config :goth, config_module: MyConfigMod
然后
defmodule MyConfigMod do
use Goth.Config
def init(config) do
{:ok, Keyword.put(config, :json, System.get_env("MY_GCP_JSON_CREDENTIALS"))}
end
end
我对配置中的“${GCP_CREDENTIALS}”可能是错误的,但我之前看到“${...}”的唯一地方是在酒厂中使用 REPLACE_OS_VARS=true
。如果你确实在使用酒厂,那么你不需要 {:system, "${GCP_CREDENTIALS}"} 元组,你可以把 config :goth, json: "${GCP_CREDENTIALS}"
放在 GCP_CREDENTIALS
env var 包含的地方凭据 json 文件的内容。
示例来源:https://github.com/peburrows/goth#installation
酒厂文档:https://hexdocs.pm/distillery/runtime-configuration.html#vm-args