Staramy się przechowywać pliki konfiguracji aplikacji specyficzne dla środowiska w s3. Pliki są przechowywane w różnych podkatalogach, których nazwa pochodzi od środowiska, a także mają środowisko jako część nazwy pliku.AWS Elastic Beanstalk: Jak korzystać ze zmiennych środowiskowych w ebextensions?
Przykładami są
dev/application-dev.properties
stg/application-stg.properties
prd/application-prd.properties
Środowiska elastyczny łodygi są nazywane dev stg, PRD i ewentualnie również mieć zmienną środowiska zdefiniowanego w elastyczny łodygi nazwie środowisko, które może być dev STG lub PRD .
Moje pytanie brzmi: jak mogę odwołać się do nazwy środowiska lub zmiennej środowiskowej podczas pobierania pliku konfiguracyjnego z pliku konfiguracyjnego w rozszerzeniu .ebextensions?
Próbowałem użyć referencji {"Ref": "AWSEBEnvironmentName" }
w pliku .ebextensions/myapp.config, ale podczas wdrażania wystąpił błąd składni.
treści .ebextensions/myapp.config jest:
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
Błąd pojawia się:
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.
Co to jest poprawny sposób o przedstawieniu zmienną środowiska w .ebextensions config plik w AWS Elastic Beanstalk?