我们正在使用terraform导入ECS解决方案,出于某种原因,我无法通过此错误。
aws_ecs_task_definition.clustername: ClientException: Container.name should not be null or empty. 09-Feb-2017 23:35:1 status code: 400
我相信这是来自这个json文件,service-prod-server.json
#aws_ecs_task_definition
resource "aws_ecs_task_definition" "cluster-name" {
family = "cluster-name"
container_definitions = "${file("task-definitions/service-prod-server.json")}"
}
这是service-prod-server.json配置的顶部。我有名字。
[
{
"name": "containername",
"memory": 7000,
"image": "imagename",
"disableNetworking": false,
"readonlyRootFilesystem": false,
我也定义了这个配置。
#aws_ecs_container_definition
data "aws_ecs_container_definition" "cluster-name" {
task_definition = "${aws_ecs_task_definition.cluster-name.id}"
container_name = "containername"
}
让我知道你们的想法
答案 0 :(得分:3)
对我来说,我错误地标记了环境变量键:
{ "key": "myvariable", "value": "myvalue" }
代替
{ "name": "myvariable", "value": "myvalue" }
区别在于我写了key
而不是name
,这破坏了整个容器的定义,这给了我这个错误。
答案 1 :(得分:2)
关于它的价值,当尝试将整个任务定义传递给container_definitions
时,我在Terraform中遇到了同样的错误。请注意,container_definitions
选项只能设置为任务定义的containerDefinitions部分(而不是整个设置)。