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')]"
}
它应该是这样的:
"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')]"
}