我在 AWS Elastic Beanstalk 的“软件配置”选项卡中定义了一个名为 MY_ENVIRONMENT_VARIABLE 的环境变量。
现在我想在 .ebextensions 配置文件的“files:”部分使用此环境变量。
Resources:
AWSEBAutoScalingGroup:
Metadata:
AWS::CloudFormation::Authentication:
S3Auth:
type: S3
buckets: arn:aws:s3:::SomeS3Bucket
roleName: aws-elasticbeanstalk-ec2-role
files:
"/tmp/application.properties" :
mode: "000644"
owner: root
group: root
source: { "Ref" : "MY_ENVIRONMENT_VARIABLE" }
authentication: S3Auth
container_commands:
01-apply-configuration:
command: mv /tmp/application.properties .
似乎可以在“container_commands:”部分中引用环境变量(通过使用bash脚本),但我在“files:”部分中找不到任何可能的引用。
有人有如何在“文件:”部分中使用环境变量的示例吗?
Use Fn::获取选项设置 http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions-functions.html#ebextensions-functions-getoptionsetting检索环境变量。环境变量位于aws:elasticbeanstalk:application:environment
名称空间 http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options-general.html
files:
"/tmp/application.properties" :
mode: "000644"
owner: root
group: root
source: '`{"Fn::GetOptionSetting": {"Namespace": "aws:elasticbeanstalk:application:environment", "OptionName": "MY_ENVIRONMENT_VARIABLE", "DefaultValue": "file_path"}}`'
authentication: S3Auth
请注意backtick
执行命令替换。DefaultValue
属性是可选的,在找不到环境变量的情况下使用。
上面的配置文件将创建文件/tmp/application.properties
包含环境变量中引用的文件的内容MY_ENVIRONMENT_VARIABLE
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)