【问题标题】:Why terraform generate the same timestamp by using `formatdate` function?为什么 terraform 使用 `formatdate` 函数生成相同的时间戳?
【发布时间】:2021-04-12 04:16:29
【问题描述】:

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}", 我应用了两次 terraform,上午 10 点和上午 11 点,但第二次生成的时间戳与第一次相同,我在这里遗漏了什么吗?我认为这个函数会生成实时时间戳。我已经挣扎了一个上午了,非常感谢。

【问题讨论】:

  • 计划是否显示definition 参数的差异?

标签: timestamp terraform terraform-provider-aws aws-step-functions formatdatetime


【解决方案1】:

工作得很好,我使用了模板文件 stepfction.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 版本

【讨论】:

  • 哦,很奇怪,我再次触发,它现在给了我正确的时间,但为什么第二个时间戳根本没有改变,导致“工作名称重复”错误,太奇怪了.. .
  • 坦率地说,在写这篇文章之前,我阅读了formatdate函数代码,对我来说似乎没有问题。然后我发布了我的答案:)
  • 感谢@samtoddler,我发现不适合附加时间戳,因为它只会在应用 terraform 后更改时间,所以我想我会将 stepfunction 执行 ID 附加到名称,我尝试了不同的方法但无法正常工作,我在这里提出了另一个问题:stackoverflow.com/questions/65609804/…,你能看看吗?非常感谢!
猜你喜欢
  • 1970-01-01
  • 2021-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-13
  • 1970-01-01
相关资源
最近更新 更多