为什么 terraform 使用 `formatdate` 函数生成相同的时间戳?
Why terraform generate the same timestamp by using `formatdate` function?
https://www.terraform.io/docs/configuration/functions/formatdate.html
上面是这个函数的文档,我用它在 SageMaker 批量转换作业的名称上附加了一个时间戳,该作业将从 stepfunction 状态机触发:
locals {
timestamp = formatdate("YYYYMMDDhhmmss", timestamp())
}
在 stepfunction terraform 文件中:
definition = templatefile("stepfuntion.json",
{
xxx
timestamp = local.timestamp
)
在“stepfuntion.json”中:
{...
"TransformJobName": "jobname-${timestamp}",
}
},
"End": true
}
}
}
具体来说,jobname是在 "TransformJobName": "jobname-${timestamp}"
中定义的,
我在上午 10 点和上午 11 点两次应用了 terraform,但是第二次它生成了与第一次相同的时间戳,我在这里遗漏了什么吗?我以为这个函数会生成实时时间戳。折腾了一个上午,非常感谢
工作得很好,我按照问题中描述的模板文件 stepfuction.json
使用了您的代码
# main.tf
locals {
current = formatdate("YYYYMMDDhhmmss",timestamp())
}
output "tempasda"{
value = templatefile("task.json", {timestamp = local.current, model_name="mymodel"})
}
和对应的输出
$ terraform apply -auto-approve |grep TransformJobName
"TransformJobName": "jobname-20210106134614",
$ terraform apply -auto-approve |grep TransformJobName
"TransformJobName": "jobname-20210106134615",
$ terraform apply -auto-approve |grep TransformJobName
"TransformJobName": "jobname-20210106134617",
$ terraform apply -auto-approve |grep TransformJobName
"TransformJobName": "jobname-20210106134618",
使用 0.13.x 和 0.14.x
测试的 terrform 版本
https://www.terraform.io/docs/configuration/functions/formatdate.html 上面是这个函数的文档,我用它在 SageMaker 批量转换作业的名称上附加了一个时间戳,该作业将从 stepfunction 状态机触发:
locals {
timestamp = formatdate("YYYYMMDDhhmmss", timestamp())
}
在 stepfunction terraform 文件中:
definition = templatefile("stepfuntion.json",
{
xxx
timestamp = local.timestamp
)
在“stepfuntion.json”中:
{...
"TransformJobName": "jobname-${timestamp}",
}
},
"End": true
}
}
}
具体来说,jobname是在 "TransformJobName": "jobname-${timestamp}"
中定义的,
我在上午 10 点和上午 11 点两次应用了 terraform,但是第二次它生成了与第一次相同的时间戳,我在这里遗漏了什么吗?我以为这个函数会生成实时时间戳。折腾了一个上午,非常感谢
工作得很好,我按照问题中描述的模板文件 stepfuction.json
使用了您的代码 # main.tf
locals {
current = formatdate("YYYYMMDDhhmmss",timestamp())
}
output "tempasda"{
value = templatefile("task.json", {timestamp = local.current, model_name="mymodel"})
}
和对应的输出
$ terraform apply -auto-approve |grep TransformJobName
"TransformJobName": "jobname-20210106134614",
$ terraform apply -auto-approve |grep TransformJobName
"TransformJobName": "jobname-20210106134615",
$ terraform apply -auto-approve |grep TransformJobName
"TransformJobName": "jobname-20210106134617",
$ terraform apply -auto-approve |grep TransformJobName
"TransformJobName": "jobname-20210106134618",
使用 0.13.x 和 0.14.x
测试的 terrform 版本