Azure AppService ARM完整部署-如何删除现有的hostNameBinding?

问题描述

我正在使用'New-AzResourceGroupDeployment -Mode Complete'来部署具有自定义域的Azure AppService。

ARM模板定义了自定义hostNameBinding

{
    "type": "Microsoft.Web/sites/hostNameBindings","apiVersion": "2018-11-01","name": "[concat(parameters('appServiceName'),'/myCustomDomain.com')]","location": "[resourceGroup().location]","dependsOn": [
        "[resourceId('Microsoft.Web/sites',parameters('appServiceName'))]"
    ],"properties": {
        "siteName": "[parameters('appServiceName')]","hostNameType": "Verified"
    }
}

,并且按预期添加了myCustomDomain.com。

当我从ARM模板中删除hostNameBinding并“ 删除了hostNameBinding。


通过PowerShell重置hostNameBinding

Set-AzureRmWebApp -Name "..." -ResourceGroupName "..." -HostNames @("<placeHolder>.azurewebsites.net")

只要使用“ .azurewebsites.net”域即可。


因此,我将此hostNameBinding添加到了ARM模板

{
    "type": "Microsoft.Web/sites/hostNameBindings",'/',parameters('appServiceName'),'.azurewebsites.net')]","hostNameType": "Verified"
    }
}

但是myCustomDomain.com并未从Azure AppService主机名属性删除

如何在ARM模板中定义自定义域名列表,以将其“同步”到Azure AppService?

任何人都提示如何完成此任务。

解决方法

就我而言,您不能这样做。请参阅Microsoft,您只能通过重新部署更新的模板来更新,而不能“同步”:

资源组中的所有资源应共享相同的资源 生命周期。您部署,更新,然后一起删除它们。

有一些方法可以更新自定义域,但是您可以将其与ARM模板“同步”。

如果您想在门户中更改自定义域,请转至应用服务,然后导航至自定义域页面,然后遵循此tutorial

如果要通过CLI命令行进行更改,可以遵循this