elixir - 在phoenixweb-framework中配置系统变量

标签 elixir phoenix-framework

如何使用 System.get_env("ACCESS_KEY_ID")

我已经创建了一个包含内容的 config/application.yml 文件

dev:
  access_key_id: ABCDEFGHIJKLMN

我尝试使用Figaro_elixir,当我从终端测试它时它工作得非常完美

当我运行时

$ MIX_ENV=dev iex -S mix
iex(1)> System.get_env("ACCESS_KEY_ID")
"ABCDEFGHIJKLMN"
iex(2)>

但是在我的 config/dev.exc 中

我什么都没有

IO.puts System.get_env("ACCESS_KEY_ID") 

有什么建议吗?我不想暴露我所有的 secret 凭证。

最佳答案

不需要Figaro_elixir。只需直接访问配置文件中的环境即可:

# config/dev.exs
config :my_app, :access_key_id, System.get_env("SUPER_SECRET")

然后在您的应用程序代码中:Application.get_env(:my_app, :access_key_id)。您还可以在开发中将上面的配置定义为简单的字符串,并仅在 config/prod.exs 中使用环境变量。

另一种替代方法是将所有 secret 显式放入 config/prod.secrets.exs 文件中,并确保它不在您的版本控制中,而仅在您的部署计算机中。

编辑:Elixir 中不需要基于 .yml 的配置系统。这是不必要的复杂性。通过使用 Elixir 的配置系统,您可以做所有事情甚至更多。

关于elixir - 在phoenixweb-framework中配置系统变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32350053/

相关文章:

elixir - 为集合创建嵌套路由而不是成员

elixir - 在 Elixir 的 ExUnit 中,是否可以只运行一个测试?

elixir - Elixir 中的斜线符号是什么意思?

react-native - [网络错误] : TypeError: Network request failed

elixir - 如何将请求参数填充到 Plug.Conn 连接中?

elixir - Phoenix : Having a JSON and HTML representation of the same resource

elixir - 如何更新 Phoenix 框架中 phoenix.gen.html 创建的文件?

elixir - 如何从 Phoenix 的环境文件中获取变量值?

file - 如何从Elixir中的给定目录返回文件集合?

elixir - 如何将 html 添加到 phoenixframework flash 消息中?