Azure App Service Environment – erreur à la création d’une nouvelle Web App

Lors de la création d’une nouvelle Web App hébergée à l’intérieur d’un environnement ASE (App Service Environment) via une template ARM, il se peut que vous rencontriez l’erreur suivante :
“Resource Microsoft.Web/sites ‘yourapplication-web01’ failed with message ‘Server farm with name yourappserviceplan not found.’ “. Here is the reference line in the template: “serverFarmId”: “/subscriptions/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx/resourceGroups/yourresourceid/providers/Microsoft.Web/serverfarms/ yourappserviceplan”.
(soit: yourapplication-web01 = le nom de votre appli web, yourresourceid = le nom de votre groupe de ressources, yourappserviceplan = le nom de votre app service hosting plan)
Cette erreur vient d’habitude d’une information incomplète dans le template ARM que vous essayez de déployer. Si dans un déploiement de Web App hors ASE il est suffisant de référencer le hosting plan qui héberge l’appli, dans le cadre d’un ASE vous devez spécifier également les informations de référencement de l’environnement ASE qui englobe le hosting plan :
[segment de template pour la définition de la web app]
{
"apiVersion": "2015-08-01",
"name": "[parameters('siteName')]",
"type": "Microsoft.Web/sites",
"location": "[parameters('location')]",
"tags": {
"displayName": "[parameters('siteName')]"
},
"properties": {
"name": "[parameters('siteName')]",
"hostingEnvironment": "[parameters('environmentName')]",
"hostingEnvironmentId": "[resourceId('Microsoft.Web/hostingEnvironments', parameters('environmentName'))]",
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('hostingPlanName'))]"
}
}
Vous aurez besoin donc au niveau paramétrage d’inclure ainsi le nom du hosting plan (‘hostingPlanName’) que celui de l’environnement ASE (‘environmentName’).
Note : si le site web sera déployé dans un groupe de ressource différent, alors il faudra qualifier les références de ressource avec le nom de leur groupe :
"serverFarmId": "[resourceId(parameters('hostingPlanResourceGroupName'), 'Microsoft.Web/serverfarms', parameters('hostingPlanName'))]"
C’est tout. Bon déploiement !
Note: vous trouverez la version anglaise de cet article à http://blog.lecampusazure.net/2016/02/azure-app-service-environment-error-on-web-app.html.