EnvironmentVariables的默认值长度大于4096

时间:2019-01-24 10:18:35

标签: ruby-on-rails amazon-web-services amazon-elastic-beanstalk

我正在尝试将Rails应用程序部署到Amazon Elastic Beanstalk(eb)环境

我又回来了这个错误:

Uploading: [##################################################] 100% Done...
2019-01-24 09:42:16    INFO    Environment update is starting.      
2019-01-24 09:42:26    ERROR   Service:AmazonCloudFormation, Message:Template format error: Parameter 'EnvironmentVariables' default value '[****]' length is greater than 4096.
2019-01-24 09:42:26    ERROR   Failed to deploy application.

我发现了

  

所有环境属性的总大小不能超过4,096   以key = value格式存储为字符串时的字节数。

在亚马逊文档here中。

我的环境属性键值的总和大于4096个字符。

因为大多数值都是API和Payments的凭据,所以我最终只得到了十几个密钥。

我的应用程序在Heroku中运行良好,对env变量没有这种限制。我想知道eb中的这些限制背后的原因是什么。

有人对此有经验吗?

就我而言,我想增加限制(4096)。我不想为了符合eb限制而更改代码。

我也愿意采取任何解决方法来克服这4096个字符。

非常感谢!

1 个答案:

答案 0 :(得分:2)

Beanstalk在下面使用Cloudformation来供应环境。结果,环境变量受到限制。您不能增加此限制,因为它在内核中被硬编码为PAGE_SIZE

这是一个不错的resource,解释了解决此问题的另一种方法。