AWS-Elastic Beanstalk:无法删除环境变量-恢复为先前值

时间:2018-08-09 15:06:26

标签: amazon-web-services environment-variables elastic-beanstalk

我们正在带有Ruby堆栈的Puma上运行多个ELB环境。我们最近达到了环境变量的4096字节限制。因此,我尝试删除一些旧的env变量,以便为新的环境变量释放一些空间。

但是,看来我只能更新变量的值。 例如。我可以将MY_SECRET=secret更改为MY_SECRET=a,然后将其反映在所有实例上。如果我尝试将其完全删除,则该值将还原为前一个值(MY_SECRET=secret-不是 a)。

我尝试通过Web UI和eb cli工具(eb setenv MY_SECRET=)删除它们。两者都声称已成功完成,但是未删除环境变量。对于不同的环境变量,其行为相同。

有人知道为什么会这样吗?

预先感谢

2 个答案:

答案 0 :(得分:1)

当您说eb setenv MY_SECRET=没有取得任何成功时,您是说它只是错误了吗?如果是这样,建议您尝试eb setenv 'MY_SECRET='。在您尝试失败的过程中,Bash(或您所使用的任何外壳程序)未按预期处理“ =”。我已经能够验证我的方法有效。

答案 1 :(得分:0)

我遇到了完全相同的问题。解决方案是使用 AWS CLI,而不是使用 --options-to-remove。这产生了与直接使用 eb setenv 或 AWS 控制台 UI 相同的结果。而是将选项的值设置为 null,例如:

aws elasticbeanstalk update-environment
  --environment-name <env_name>
  --option-settings
    Namespace=aws:elasticbeanstalk:application:environment,OptionName=MY_SECRET,Value=null

这终于解决了我的问题,希望它能解决其他人遇到的问题。