Обновить группу ресурсов с помощью шаблона ARM - невозможно создать Linux план обслуживания приложения - PullRequest
0 голосов
/ 24 февраля 2020

У меня есть конвейер, который собирается обновить мою группу ресурсов 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
      }
    }

1 Ответ

0 голосов
/ 24 февраля 2020

для шаблона arm для обновления существующего ресурса - имя ресурса должно точно совпадать. это единственный трюк. если имя совпадает - он обновит ресурс вместо создания нового с тем же именем (не то, что это возможно).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...