我正在 Elixir 中开发一个项目,该项目在部署在 AWS ECS 上的容器中运行。我正在尝试使用环境变量来定义执行环境 (ENVIRONMENT) 并在我的应用程序中访问它们。
配置 在我的runtime.exs文件中,我的配置如下:
if config_env() in [:prod, :stage] do
environment = System.get_env("ENVIRONMENT") || "Devs"
config :lxp, :aws_config,
environment: environment
end
然后,我的代码中有以下模块:
defmodule Lxp.AwsConfig do
def get_environment do
Application.get_env(:lxp, :aws_config)[:environment] || "Devs"
end
end
我知道 get_environment 函数始终返回“Devs”,这表明未从容器中正确读取 ENVIRONMENT 环境变量。
这是我的 .tfvars 文件
vars_by_workspace = {
qa = {
ecs_web_app_config = {}
map_container_environment = {
POOL_SIZE = "10"
SENDGRID_API_KEY = ""
ENVIRONMENT = "Stage"
...
}
secrets = [...]
}
}
prod = {
ecs_web_app_config = {]
map_container_environment = {
POOL_SIZE = "10"
SENDGRID_API_KEY = ""
ENVIRONMENT = "Prod"
...
}
secrets = [...]
}
}