Azure ARM 模板如何从 utcnow 函数获取正确的语法到 runbook 开始时间

Azure ARM template how to get correct syntax from utcnow function to runbook start time

它应该是这样的:

"startTime": "2019-03-29T23:30:00+01:00"

默认情况下我得到

20190430T151332Z

但我不知道如何获得所需的语法。使用 ARM 模板 utcnow 函数可以实现吗?如果可以,如何实现?

您需要使用标准的 dotnet 自定义格式。如所述 here.

"[utcnow('yyyy-MM-dd THH:mm:ss zzzz')]"

这似乎没问题,除了它 returns 不是你的 TZ,而是 ARM TZ,所以它总是 returns +00:00。所以使用它没有意义。

接受的答案对于获得所需的语法是正确的,但它不能解决错误问题:'the start time of the schedule must be at least 5 minutes after the time you create the schedule' 在计划中使用时。要解决它,只需使用 dateTimeAdd 添加所需的时间。例如,如果您想在部署后一小时开始计划,请使用:

"scheduleTime": {
  "type": "string",
  "defaultValue": "[dateTimeAdd(utcNow('u'), 'PT1H', 'yyyy-MM-dd THH:mm:ss zzzz')]"
}