【问题标题】:Azure ARM template how to get correct syntax from utcnow function to runbook start timeAzure ARM 模板如何从 utcnow 函数获取正确的语法到 Runbook 开始时间
【发布时间】:2020-07-24 22:48:57
【问题描述】:

应该是这样的:

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

默认我得到

20190430T151332Z

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

【问题讨论】:

    标签: azure azure-resource-manager arm-template


    【解决方案1】:

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

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

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

    【讨论】:

    • 是的,我现在得到:错误消息:计划的开始时间必须至少比您创建计划的时间晚 5 分钟。
    • 嗯,这不是我可以帮你的,它不允许自定义时间。除了它是一个完全不同的问题之外。您的问题已得到解答,我建议您接受此答案并创建一个新问题。但我认为它不能用 arm 模板解决
    • 是的,我接受你的回答。我发现一个用户请求让时间功能更可用,但它尚未实现。
    • 我不知道为什么以如此荒谬的方式实现它。 :(
    【解决方案2】:

    接受的答案是正确的以获得所需的语法,但它不能解决错误问题:在日程表中使用时,“日程表的开始时间必须在您创建日程表的时间之后至少 5 分钟”。要解决这个问题,只需使用 dateTimeAdd 添加所需的小时数。例如,如果您想从部署开始一小时开始计划使用:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-24
      相关资源
      最近更新 更多