我在状态机中定义了一个 ECS Fargate 任务,如下所示:
"triggerECSRestore": {
"Type": "Task",
"Resource":"arn:aws:states:::ecs:runTask.waitForTaskToken",
"Parameters":{
"LaunchType":"FARGATE",
"Cluster":"cluster-name",
"TaskDefinition":"arn:aws:ecs:us-east-1:12345:task-definition/abc:38",
"NetworkConfiguration": {
"AwsvpcConfiguration": {
"SecurityGroups": [
"abc"
],
"Subnets": [
"subnet-111",
"subnet-222",
"subnet-333"
]
}
},
ecs 实例本身在别处定义。当我为该 ecs 提交更改时,TaskDefninition 会通过递增 1 进行更改(例如,请参阅结尾“abc:38”变为“abc:39”)。所以每次我对 ecs 进行更改时,我都必须更新上面的 Parameters.TaskDefinition
。我已经将 ${var} 用于 template.yaml
中定义的变量。但在这种情况下,所需的变量(ECS 的 TaskDefinition arn)并未在 template.yaml
中定义。