Я решил это, создав 4 ресурса в шаблоне ARM.Сертификат, план обслуживания приложения, веб-приложение и привязка имени хоста.Точно так же, как этот github azure-quickstart-template https://github.com/Azure/azure-quickstart-templates/tree/master/201-web-app-custom-domain-and-ssl.
Ключом для меня было изменение ресурса сертификата путем добавления pxfBlob и удаления свойств хранилища ключей, см. Код ниже.CertificatePfx является защищенной строкой, которая устанавливается в конвейере выпуска из keyVault.
{
"type": "Microsoft.Web/certificates",
"name": "[parameters('certificateName')]",
"apiVersion": "2016-03-01",
"location": "[resourceGroup().location]",
"properties": {
"name": "[parameters('webAppName')]",
"serverFarmId": "[concat(resourceId('Microsoft.Web/serverFarms', parameters('appServicePlanName')))]",
"hostNames": [
"parameters('hostname_wildcard')",
"parameters('hostname_domain')"
],
"pfxBlob": "[parameters('certificatePfx')]"
},
"dependsOn": [
"[concat('Microsoft.Web/sites/',parameters('webAppName'))]"
]
},