我正在尝试将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个字符。
非常感谢!
答案 0 :(得分:2)
Beanstalk在下面使用Cloudformation来供应环境。结果,环境变量受到限制。您不能增加此限制,因为它在内核中被硬编码为PAGE_SIZE
。
这是一个不错的resource,解释了解决此问题的另一种方法。