从.ebextensions配置文件访问Elastic Beanstalk环境属性

时间:2016-12-21 10:47:08

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

在Elastic Beanstalk中,是否可以从.ebextensions * .config文件引用环境属性?

例如,使用Cloud Formation我已将以下环境属性添加到创建的环境中 -

- Namespace: "aws:elasticbeanstalk:application:environment"
  OptionName:  "LOAD_USER_PROFILE"
  Value:       !Ref "LoadUserProfile"

此属性已添加并在我的环境的Software Configuraion的Environment Properties部分下按预期显示 -

enter image description here

但是,当我尝试通过.ebextensions * .config文件访问该属性时,它失败并出现以下错误 -

  

构建期间发生错误:命令loaduserprofile失败

以下是来自我的* .config文件的命令(来自给出here的答案),如果我硬编码truefalse代替{$LOAD_USER_PROFILE},则该命令有效 -

container_commands:
  loaduserprofile:
    command: appcmd set apppool "DefaultAppPool" -processModel.loadUserProfile:"{$LOAD_USER_PROFILE}"
    cwd: C:\\Windows\\System32\\inetsrv

我想要实现的是可能的,如果是的话,我做错了什么?

1 个答案:

答案 0 :(得分:2)

它们作为环境变量传递到应用程序的声明可能会产生误导。

它们实际上作为属性传递给您的应用程序,因此它取决于您在EB中部署的应用程序。您似乎正在使用IIS / .Net,因此根据以下答案将属性名称和值添加到web.config中:

How to read Elastic Beanstalk Environment Properties in .net?