问题描述
那里,我已经在 ECS 任务定义中设置了环境变量,如屏幕截图所示。而且我假设我可以简单地将其视为常规 env 并在 Spring 中像这样读取它:
@Value("${activeDirectoryPwd}")
private String adPwd;
但不知何故变量 adPwd 返回空值。我必须以不同的方式阅读吗?
解决方法
环境变量是环境变量,无论它们如何定义,因此您的容器本身可能会发生某些事情。您的 Spring 应用程序是直接在容器中启动还是有其他服务在运行它?
另外需要注意的是,您不应该像那样将密码直接传递到任务定义中。相反,您应该将其存储在 Secrets Manager 或 Parameter Store 和 pass the secret through in the task definition 中。这可以防止在 AWS 控制台中读取密钥。