#yaml #amazon-cloudformation
#yaml #amazon-cloudformation
Вопрос:
Я создаю POC с помощью пакета AWS. Для создания инфраструктуры я использую AWS CloudFormation.
У меня проблема с ресурсом AWS ::Batch::JobDefinition
ContentInputJob:
Type: "AWS::Batch::JobDefinition"
Properties:
Type: Container
ContainerProperties:
Environment:
- name: SECRETS
value: '**********'
Command:
- -v
- process
- new-file
- -o
Image: !Join ['', [!Ref 'AWS::AccountId','.dkr.ecr.', !Ref 'AWS::Region', '.amazonaws.com/', !Ref ImageName ] ]
JobRoleArn: !Ref BatchContainerIAMRole
Memory: 128
Vcpus: 2
JobDefinitionName: DemoContentInput
RetryStrategy:
Attempts: 1
Сбой при создании стека… «Ошибка проверки свойств: [Обнаружены неподдерживаемые свойства в {/ContainerProperties/Environment/0}: [имя, значение]]»
Я прочитал:
- https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-environment
- https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-environment.html
Я тоже пробовал это:
ContentInputJob:
Type: "AWS::Batch::JobDefinition"
Properties:
Type: Container
ContainerProperties:
Environment:
- SECRETS: '**********'
Command:
- -v
- process
- new-file
- -o
Image: !Join ['', [!Ref 'AWS::AccountId','.dkr.ecr.', !Ref 'AWS::Region', '.amazonaws.com/', !Ref ImageName ] ]
JobRoleArn: !Ref BatchContainerIAMRole
Memory: 128
Vcpus: 2
JobDefinitionName: DemoContentInput
RetryStrategy:
Attempts: 1
Затем я получаю «Сбой проверки свойств: [Обнаружены неподдерживаемые свойства в {/ContainerProperties/Environment/0}: [СЕКРЕТЫ]]»
Каков синтаксис для этого? Мне нужно более одной переменной среды.
ContainerProperties:
Environment:
- name: SECRETS
value: '**********'
- name: SECRETS2
value: '**********'
Ответ №1:
Рекомендуем попробовать линтер CloudFormation в VSCode, чтобы увидеть некоторые из этих встроенных ошибок при создании шаблонов вместе со ссылками на автозаполнение и документацию.:
[cfn-lint] E3002: Invalid Property Resources/ContentInputJob/Properties/ContainerProperties/Environment/0/name
[cfn-lint] E3002: Invalid Property Resources/ContentInputJob/Properties/ContainerProperties/Environment/0/value
Комментарии:
1. Спасибо, Пэт, но я эти сообщения похожи на мои. В решениях используются заглавные буквы. Имя и значение
2. Однако автозаполнение свойства предотвратит повторение этого события 🙂
Ответ №2:
В решениях используются заглавные буквы.
ContainerProperties:
Environment:
- Name: SECRETS
Value: '**********'
- Name: SECRETS2
Value: '**********'