#azure-resource-manager #arm-template
#azure-resource-manager #arm-template
Вопрос:
Я развертываю 2 ресурса, один из которых зависит от другого, но, похоже, это задержка между тем, как первый ресурс становится полностью работоспособным, а второй ресурс внедряется. Код приведен ниже. Первый развертываемый ресурс — это DNS-ресурс, указывающий на службу приложений, а второй ресурс добавляет пользовательскую привязку имени хоста к службе приложений. Проблема заключается в том, что, по-видимому, существует задержка до 30 секунд между тем, как служба приложений может проверить, доступна ли запись DNS для проверки записи. Можно ли как-то добавить небольшую задержку между развертываниями ресурсов, поскольку 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:
Нет, это невозможно сделать напрямую, но вы можете использовать пару альтернатив:
- Разверните фиктивный ресурс между ними, вы можете найти ресурс, который ничего не стоит
- Сделайте что-нибудь необычное с вложенными шаблонами, например, вызовите пустой вложенный шаблон 10 раз подряд (последовательно, а не параллельно)
- Используйте ресурс deploymentScript, чтобы просто выполнить
sleep 30
команду.