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

时间:2021-01-28 03:12:56

标签: azure-resource-manager arm-template

我部署了 2 个资源,其中一个依赖于另一个资源,但在第一个资源完全可用和第二个资源正在实施之间似乎存在延迟。代码如下。部署的第一个资源是指向 APP 服务的 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 个答案:

答案 0 :(得分:0)

不,不能直接执行,但您可以使用几种替代方法:

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