属性验证失败,消息无关密钥是不允许的

问题描述

我收到以下错误

资源 mytaskdeFinition 的属性验证失败并显示消息:#/ContainerDeFinitions/0: extraneous key [linuxParameters] is not allowed

Per https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html linuxParameters一个有效的密钥。

正如错误所暗示的那样,我的任务定义嵌套在 ContainerDeFinitions 下 linuxParameters

解决方法

尽管文档使用驼峰式大小写 linuxParameters,但 AWS 突然开始强制执行大写。

解决方法是将第一个字母大写,即使用 LinuxParameters 代替。

请注意,这也适用于嵌套属性,例如 initProcessEnabled 会导致

#/ContainerDefinitions/0/LinuxParameters:不允许使用无关的键 [initProcessEnabled]

所以你必须使用 InitProcessEnabled