如何增加 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": {}
}
},
不,它不能直接执行,但您可以使用几个备选方案:
- 在它们之间部署一个虚拟资源,你可以找到一个不花钱的资源
- 用嵌套模板做一些花哨的事情,比如连续调用一个空的嵌套模板 10 次(按顺序,而不是并行)
- 使用 deploymentScript 资源仅发出
sleep 30
命令。
我部署了 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": {}
}
},
不,它不能直接执行,但您可以使用几个备选方案:
- 在它们之间部署一个虚拟资源,你可以找到一个不花钱的资源
- 用嵌套模板做一些花哨的事情,比如连续调用一个空的嵌套模板 10 次(按顺序,而不是并行)
- 使用 deploymentScript 资源仅发出
sleep 30
命令。