问题描述
我已经为此工作了几个小时,但似乎无法确定我做错了什么。感谢任何人可以提供帮助。
问题:
我有一个 ECS CFT 模板,我应该在其中更新容器定义中的运行状况检查命令。如果健康检查命令的参数可用,那么我应该包含它或不传递 aws 值。这是我的模板中的参考。但是,运行此程序后,我得到了
提供的请求无效:创建任务定义:您必须为容器指定运行状况检查命令。
我希望参数是可选的。所以我在更新堆栈时没有传递参数。
参数:
"ContainerHealthCheckCommand": {
"Description": "Health check command of the container"
"Type": "CommaDelimitedList","Default": ""
}
条件:
"hasContainerHealthCheckCommand": {
"Fn::Not": [{ "Fn::Equals": [{"Fn::Select": ["0",{"Ref": "ContainerHealthCheckCommand"},""]}]}
}
在我的资源容器定义内
"HealthCheck": {"Fn::If": [
"hasContainerHealthCheckCommand",{
"Command": {"Ref":"ContainerHealthCheckCommand"}
},{"Ref": "AWS::Novalue"}
]
解决方法
这是一个无关的错误。之后上面的代码运行良好。