如何使用 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/