функция, чтобы избежать надоедливых
таемся сохранить файлы конфигурации приложения для конкретной среды в s3. Файлы хранятся в разных подкаталогах, которые названы в честь среды, а также имеют среду как часть имени файла.
Примеры
dev/application-dev.properties
stg/application-stg.properties
prd/application-prd.properties
Elastic Beanstalk среды названыdev, stg, prd и в качестве альтернативы у меня также есть переменная окружения, определенная в Elastic Beanstalk, с именем ENVIRONMENT, которая может бытьdev, stg или prd.
Теперь у меня вопрос, как мне ссылаться на имя среды или переменную ENVIRONMENT при загрузке файла конфигурации из файла конфигурации в .ebextensions?
Я пытался с помощью{"Ref": "AWSEBEnvironmentName" }
ссылка в .ebextensions / myapp.config, но при развертывании выдается синтаксическая ошибка.
Содержимое .ebextensions / myapp.config:
files:
/config/application-`{"Ref": "AWSEBEnvironmentName" }`.properties:
mode: "000666"
owner: webapp
group: webapp
source: https://s3.amazonaws.com/com.mycompany.mybucket/`{"Ref": "AWSEBEnvironmentName" }`/application-`{"Ref": "AWSEBEnvironmentName" }`.properties
authentication: S3Access
Resources:
AWSEBAutoScalingGroup:
Metadata:
AWS::CloudFormation::Authentication:
S3Access:
type: S3
roleName: aws-elasticbeanstalk-ec2-role
buckets: com.mycompany.api.config
Я получаю ошибку:
The configuration file .ebextensions/myapp.config in application version
manualtest-18 contains invalid YAML or JSON. YAML exception: Invalid Yaml:
mapping values are not allowed here in "<reader>", line 6, column 85:
... .config/stg/application-`{"Ref": "AWSEBEnvironmentName" }`.prop ... ^ ,
JSON exception: Invalid JSON: Unexpected character (f) at position 0..
Update the configuration file.
Как правильно ссылаться на переменную среды в файле конфигурации .ebextensions в AWS Elastic Beanstalk?