У меня есть конвейер, который собирается обновить мою группу ресурсов Azure, используя шаблон ARM. В моей группе ресурсов у меня есть Linux план обслуживания приложения. Когда мой конвейер запускается, я получаю следующую ошибку:
2020-02-24T09:13:47.8665770Z ##[error]The template deployment 'template-20200224-091344-94a5' is not valid according to the validation procedure. The tracking id is 'cba7977a-ed1a-4807-a8bb-d7387bb9eae1'. See inner errors for details.
2020-02-24T09:13:47.8673575Z ##[error]Details:
2020-02-24T09:13:47.8683161Z ##[error]ValidationForResourceFailed: Validation failed for a resource. Check 'Error.Details[0]' for more information. [{"code":"FreeLinuxSkuNotAllowedInResourceGroup","message":"Cannot create a Linux app service plan because there is a limit of 1 free tier linux app service plan per subscription."}]
2020-02-24T09:13:47.8695096Z ##[error]Task failed while creating or updating the template deployment.
Я думал, что конвейер должен обновлять только мой сервисный план приложения, но кажется, что он пытается создать новый. Итак, я полагаю, что происходит, что он создает новый, а затем удаляет старый. Однако он не может этого сделать, поскольку существует ограничение в 1 Linux план обслуживания приложения, и он уже существует.
Поэтому мой вопрос заключается в том, как сделать так, чтобы конвейер перезаписывал только старый план обслуживания приложения вместо создания новый и удаление старого?
Вот ресурс в шаблоне ARM:
{
"type": "Microsoft.Web/serverfarms",
"apiVersion": "2018-02-01",
"name": "[parameters('serverfarms_project_api_name')]",
"location": "West Europe",
"tags": {
"Environment": "Dev"
},
"sku": {
"name": "F1",
"tier": "Free",
"size": "F1",
"family": "F",
"capacity": 1
},
"kind": "linux",
"properties": {
"perSiteScaling": false,
"maximumElasticWorkerCount": 1,
"isSpot": false,
"reserved": true,
"isXenon": false,
"hyperV": false,
"targetWorkerCount": 0,
"targetWorkerSizeId": 0
}
}