从 .ebextensions 配置文件访问 Elastic Beanstalk 环境属性
Posted
技术标签:
【中文标题】从 .ebextensions 配置文件访问 Elastic Beanstalk 环境属性【英文标题】:Accessing an Elastic Beanstalk environment property from an .ebextensions config file 【发布时间】:2017-05-06 18:25:20 【问题描述】:在 Elastic Beanstalk 中,是否可以从 .ebextensions *.config 文件中引用环境属性?
例如,使用 Cloud Formation,我已将以下环境属性添加到创建的环境中 -
- Namespace: "aws:elasticbeanstalk:application:environment"
OptionName: "LOAD_USER_PROFILE"
Value: !Ref "LoadUserProfile"
此属性已添加并按预期显示在我的环境的软件配置的环境属性部分 -
但是,当我尝试通过 .ebextensions *.config 文件访问该属性时,它会失败并出现以下错误 -
构建期间发生错误:命令 loaduserprofile 失败
这是来自我的 *.config 文件的命令(源自给定的答案 here),如果我硬编码 true
或 false
代替 $LOAD_USER_PROFILE
-.
container_commands:
loaduserprofile:
command: appcmd set apppool "DefaultAppPool" -processModel.loadUserProfile:"$LOAD_USER_PROFILE"
cwd: C:\\Windows\\System32\\inetsrv
我想要实现的目标是否可行,如果可以,我做错了什么?
【问题讨论】:
【参考方案1】:将它们作为环境变量传递给应用程序的说法可能会产生误导。
它们实际上是作为属性传递给您的应用程序的,因此这取决于您在 EB 中部署的应用程序。看来您正在使用 IIS/.Net,因此属性名称和值将按照以下答案添加到 web.config:
How to read Elastic Beanstalk Environment Properties in .net?
【讨论】:
谢谢,这确实有助于弄清楚发生了什么。遗憾的是,我认为需要采用不同的方法!#以上是关于从 .ebextensions 配置文件访问 Elastic Beanstalk 环境属性的主要内容,如果未能解决你的问题,请参考以下文章
使用 Rails 部署 AWS - .ebextensions 中的配置文件
Beanstalk 部署忽略了我在 .ebextensions 中的 nginx 配置文件
如何使用配置文件 (.ebextensions) 在 AWS Elastic Beanstalk 上安装 PHP IMAP 扩展?