如何从 Spring 中的 AWS ECS 任务定义中读取环境变量?

How to read an environment variable from AWS ECS task definition in Spring?

在那里,我已经在 ECS 任务定义中设置了一个环境变量,如屏幕截图所示。我假设我可以简单地将它视为常规环境并在 Spring:

中像这样阅读
@Value("${activeDirectoryPwd}")
private String adPwd;

但不知何故,变量 adPwd 返回为空。我必须以不同的方式阅读吗?

环境变量是环境变量,无论它们如何定义,因此您的容器本身可能正在发生某些事情。您的 Spring 应用程序是直接在容器中启动还是有其他服务 运行 它?

作为一个单独的说明,您不应该像那样将密码直接传递到任务定义中。相反,您应该将其存储在 Secrets Manager 或 Parameter Store 和 pass the secret through in the task definition 中。这可以防止在 AWS 控制台中读取机密。