Ошибка повторного запуска шаблона ARM

У меня есть очень простой шаблон ARM, который раскручивает план обслуживания приложений и веб-сайт. Когда я удаляю план или группу ресурсов, он работает нормально и создает новый план и веб-сайт. Ниже приведен шаблон:

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "environment": {
      "type": "string",
      "metadata": {
        "comments": "The environment to suffix to distinguish resources in different groups"
      }
      "allowedValues": ["Test","Uat","Stage"]
    }, 
    "planName": {
      "type": "string"
    },
 /*Other Parameters*/
    }
  },
  "variables": {
    "planNameFull": /*expression*/,
    "siteTestNameFull": /*expression*/,
    "appDomainName": /*expression*/    
  },
  "resources": [
    {
      "comments": "Application Plan (Serverfarm)",
      "type": "Microsoft.Web/serverfarms",
      "sku": {
        "name": "S1",
        "tier": "Standard",
        "Size": "S1",
        "family": "S",
        "capacity": "1"
      },
      "kind": "app",
      "name": "[variables('planNameFull')]",
      "apiVersion": "2016-09-01",
      "location": "[resourceGroup().location]",
      "tags": {
        "[concat('hidden-related:', resourceGroup().id, '/providers/Microsoft.Web/serverfarms/', variables('planNameFull'))]": "empty",
        "displayName": "[variables('planNameFull')]"
      },
      "properties": {
        "name": "[variables('planNameFull')]",
        "workerTierName": null,
        "adminSiteName": null,
        "hostingEnvironmentProfile": null,
        "perSiteScaling": false,
        "reserved": false,
        "targetWorkerCount": 0,
        "targetWorkerSizeId": 0
      }
    },
    {
      "comments": "Test Web Site",
      "type": "Microsoft.Web/sites",
      "kind": "app",
      "name": "[variables('siteTestNameFull')]",
      "apiVersion": "2016-08-01",
      "location": "[resourceGroup().location]",
      "tags": {
        "[concat('hidden-related:', resourceGroup().id, '/providers/Microsoft.Web/serverfarms/', variables('planNameFull'))]": "empty",
        "displayName": "[variables('siteTestNameFull')]"
      },
      "properties": {
        "clientAffinityEnabled": true,
        "enabled": true,
        "hostNameSslStates": [
          {
            "name:": "[concat(variables('siteTestNameFull') ,'.azurewebsites.net')]",
            "sslState": "Disabled",
            "hostType": "Standard"
          },
          {
            "name:": "[concat(variables('siteTestNameFull') ,'scm.azurewebsites.net')]",
            "sslState": "Disabled",
            "hostType": "Repository"
          }
        ],
        "serverFarmId": "[resourceId('Microsoft.Web/serverfarms',variables('planNameFull'))]"
      },
      "dependsOn": [ "[resourceId('Microsoft.Web/serverfarms',variables('planNameFull'))]" ],
      "resources": [
        {
          "comments": "Test Web Site Config.",
          "type": "Microsoft.Web/sites/config",
          "name": "[concat(variables('siteTestNameFull'),'/web')]",
          "apiVersion": "2015-08-01",
          "tags": {
            "[concat('hidden-related:', resourceGroup().id, '/providers/Microsoft.Web/serverfarms/', variables('planNameFull'))]": "empty",
            "description": "[concat('Moula ', variables('siteTestNameFull'),' Settings')]",
            "displayName": "[concat(variables('siteTestNameFull'),' App Settings')]"
          },
          "properties": {
            "numberOfWorkers": 1,
            "defaultDocuments": [ "index.html" ],
            "netFrameworkVersion": "v4.7",
            "publishingUsername": "[parameters('webPublishingUser')]",
            "publishingPassword": "[parameters('webPublishingPwd')]",
            "siteAuthSettings": { "isAadAutoProvisioned": false },
            "ipSecurityRestrictions": [
              {
                "ipAddress": "115.xx.xxx.27",
                "subnetMask": null
              },
              {
                "ipAddress": "34.xxx.xx.90",
                "subnetMask": null
              }
            ],
            "appSettings": {
              "WEBSITE_TIME_ZONE": "[parameters('websiteTimezone')]",
              "WEBSITE_LOAD_CERTIFICATES": "[parameters('testCertificate')]"
            },
            "use32BitWorkerProcess": false,
            "managedPipelineMode": "Integrated",
            "virtualApplications": [
              {
                "virtualPath": "/",
                "physicalPath": "site\\wwwroot",
                "preloadEnabled": false,
                "vitualDirectories": null
              }
            ],
            "loadBalancingRules": [ "LeastRequests" ]
          },
          "dependsOn": [ "[resourceId('Microsoft.Web/sites',variables('siteTestNameFull'))]" ]
        }
      ]
    }
  ],
  "outputs": {
    "planId": {
      "type": "string",
      "value": "[resourceId('Microsoft.Web/serverfarms', variables('planNameFull'))]"
    },
    "TestAppId": {
      "type": "string",
      "value": "[resourceId('Microsoft.Web/sites',variables('siteTestNameFull'))]"
    }
  }
}

Моя проблема в том, что я хочу запустить этот шаблон как этап конвейера сборки VSTS. Когда я снова пытаюсь запустить шаблон без каких-либо изменений, это всегда вызывает следующую ошибку:

Template deployment returned the following errors:
1:09:17 PM - Resource Microsoft.Web/sites 'TestWebsite' failed with message '{
  "error": {
    "code": "InternalServerError",
    "message": "There was an unexpected InternalServerError.  Please try again later.  x-ms-correlation-request-id: 8cd06d54-vvvv-wwww-xxxx-5e55029fc640"
  }
}'

Что я делаю не так?


person TheVillageIdiot    schedule 28.02.2018    source источник
comment
Вы постоянно получаете одну и ту же ошибку при развертывании шаблона ARM с VSTS?   -  person juvchan    schedule 28.02.2018
comment
@juvchan да, идентификатор корреляции меняется, но в остальном все 3-4 шаблона, которые я пробовал, оказались одинаковыми. Другие шаблоны были более сложными (сайты / конфиги / кастомные домены и т. Д.). Итак, я попробовал с этим относительно простым.   -  person TheVillageIdiot    schedule 28.02.2018
comment
можешь поделиться настоящей ошибкой? Вы можете получить это с помощью монитора Azure   -  person 4c74356b41    schedule 28.02.2018
comment
Вот что говорит Монитор: af5ca351-e3f6-400c-9a09-cbb005afd9b2 | Microsoft.Resources/deployments/write | Failed | Error | 2018-02-28T02:37:20.3176865Z   -  person TheVillageIdiot    schedule 28.02.2018
comment
Это веб-приложение (M ************** Nz) все еще существует или было удалено?   -  person David Ebbo    schedule 07.03.2018
comment
По какой-то причине свойство name для каждого из элементов в коллекции hostNameSslStates установлено в null в запросе API. Вот что вызывает ошибку. Не уверен, почему шаблон не настроен правильно, но вы можете просто удалить всю коллекцию hostNameSslStates из шаблона, поскольку в этом нет необходимости при создании или обновлении сайта.   -  person RuslanY    schedule 07.03.2018
comment
@DavidEbbo, этот удален. Я могу запустить шаблон еще раз, или тот, который я вам отправил (идентификатор корреляции), уже есть.   -  person TheVillageIdiot    schedule 07.03.2018
comment
@RuslanY Постараюсь удалить раздел hostNameSslStates.   -  person TheVillageIdiot    schedule 07.03.2018
comment
Предложение Руслана решит проблему   -  person David Ebbo    schedule 07.03.2018
comment
@DavidEbbo, да, это сработало!   -  person TheVillageIdiot    schedule 07.03.2018
comment
спасибо @RuslanY, удаление раздела hostNameSslStates заставило его работать!   -  person TheVillageIdiot    schedule 07.03.2018
comment
удаление hostNameSslStates не помогло мне   -  person Stephane    schedule 02.03.2019


Ответы (1)


У этого типа ошибки есть несколько причин. Это официальная документация.

  • Время простоя любой службы, которую вы развертываете в регионе, в котором вы развертываете.
  • Время простоя самого Azure DevOps.
  • Тип ресурса, который вы пытаетесь развернуть, еще недоступен в этом регионе.
person Eivind Gussiås Løkseth    schedule 15.06.2020
comment
В моем случае я ссылался на существующий реестр контейнеров Azure, но шаблон ARM определил это в Восточной Норвегии, где ACR еще не доступен, поэтому мне пришлось изменить шаблон, чтобы добавить еще один параметр acrLocation. - person Eivind Gussiås Løkseth; 16.06.2020