如何使用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")
有什么建议吗?我不想公开我所有的秘密凭证。
答案 0 :(得分:5)
没有必要使用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
中使用环境变量。
另一种方法是明确地将所有机密放在config/prod.secrets.exs
文件中,并确保它不在您的版本控制中,而只在您的部署机器中。
编辑:Elixir中不需要基于.yml
的配置系统。这是不必要的复杂性。您可以使用Elixir的配置系统完成所有工作。
答案 1 :(得分:0)
我最终得到了它
System.get_env("ACCESS_KEY_ID")
是我的系统的一部分,即我的电脑。我必须自己放在那里。
对于#slack的某人,我指的是