如何增加 ARM 模板资源部署的延迟?

How do one add delay to deployment of ARM template resource?

我部署了 2 个资源,其中一个依赖于另一个,但在第一个资源完全运行和第二个资源实施之间似乎存在延迟。代码如下。部署的第一个资源是指向应用程序服务的 DNS 资源,第二个资源是将自定义主机名绑定添加到应用程序服务。问题是应用服务能够验证 DNS 记录可用于验证记录之间似乎有长达 30 秒的延迟。是否有可能以某种方式在资源部署之间添加小的延迟,因为在这种情况下仅使用 dependsOn 是不够的

{
         "apiVersion": "2020-09-01",
         "name": "[concat(parameters('webAppName'), '-mysite','/mysite.', variables('dnsZoneName'))]",
         "type": "Microsoft.Web/sites/hostNameBindings",
         "location": "[variables('location')]",
         "dependsOn": [
            "[resourceId('Microsoft.Network/dnszones/CNAME', variables('dnsZoneName'), 'mysite')]"
         ],
         "properties": {
            "domainId": null,
            "siteName": "[concat(parameters('webAppName'), '-mysite')]",
            "customHostNameDnsRecordType": "CName",
            "hostNameType": "Verified"
         }
      },
      {
         "type": "Microsoft.Network/dnszones/CNAME",
         "apiVersion": "2018-05-01",
         "dependsOn": [
            "[concat(parameters('webAppName'), '-mysite')]"
         ],
         "name": "[concat(variables('dnsZoneName'), '/mysite')]",
         "properties": {
            "TTL": 3600,
            "CNAMERecord": {
               "cname": "[reference(concat(parameters('webAppName'), '-mysite'), '2016-03-01', 'Full').properties.defaultHostName]"
            },
            "targetResource": {}
         }
      },

不,它不能直接执行,但您可以使用几个备选方案:

  1. 在它们之间部署一个虚拟资源,你可以找到一个不花钱的资源
  2. 用嵌套模板做一些花哨的事情,比如连续调用一个空的嵌套模板 10 次(按顺序,而不是并行)
  3. 使用 deploymentScript 资源仅发出 sleep 30 命令。