Не удается создать функциональное приложение на основе Windows (ОС) в плане обслуживания приложений с помощью ARM

#azure #arm #azure-functions #azure-app-service-plans

Вопрос:

Я создал шаблон приложения функции ARM и файлы JSON параметров и развернул его через интерфейс командной строки. Проблема в том, что, однако, когда я настраиваю шаблон, я всегда получаю функциональное приложение Linux.

Когда я нажимаю «Экспортировать шаблон» после развертывания, вид приложения функции автоматически меняется на:

   "kind": "functionapp,linux",
 

Есть ли какой-либо способ развернуть функциональное приложение ОС Windows в Azure? Это вообще не задокументировано корпорацией Майкрософт.

Вот мой шаблон РУКИ (важная часть):

         "type": "Microsoft.Web/sites",
        "apiVersion": "2018-11-01",
        "name": "[parameters('name')]",
        "location": "[parameters('location')]",
        "dependsOn": [
            "[resourceId('Microsoft.Web/serverfarms', parameters('app_serviceplan_name'))]",
            "[resourceId('Microsoft.Storage/storageAccounts', parameters('storage_account_name'))]"
        ],
        "tags": {},
        "kind": "functionapp",
        "identity": {
            "type": "SystemAssigned"
        },
        "properties": {
            "name": "[parameters('name')]",
            "siteConfig": {
                "appSettings": [
                    {
                        "name": "FUNCTIONS_WORKER_RUNTIME",
                        "value": "node"
                    },
                    {
                        "name": "FUNCTIONS_EXTENSION_VERSION",
                        "value": "~3"
                    },
                    {
                        "name": "WEBSITE_NODE_DEFAULT_VERSION",
                        "value": "~14"
                    },
                    {
                        "name": "APPINSIGHTS_INSTRUMENTATIONKEY",
                        "value": "[BLANK_HERE_FOR_SECURITY_PURPOSES]"
                    },
                    {
                        "name": "AzureWebJobsStorage",
                        "value": "[concat('BLANK_HERE_FOR_SECURITY_PURPOSES')]"
                    }
                ]
            },
            "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('app_serviceplan_name'))]",


    {
        "type": "Microsoft.Web/serverfarms",
        "apiVersion": "2018-02-01",
        "name": "[parameters('app_serviceplan_name')]",
        "location": "[parameters('location')]",
        "sku": {
            "name": "EP1",
            "tier": "ElasticPremium",
            "size": "EP1",
            "family": "EP",
            "capacity": 1
        },
        "kind": "elastic",
        "properties": {
            "perSiteScaling": false,
            "maximumElasticWorkerCount": 20,
            "isSpot": false,
            "reserved": true,
            "isXenon": false,
            "hyperV": false,
            "targetWorkerCount": 0,
            "targetWorkerSizeId": 0
        }
    },
 

Комментарии:

1. Я переориентировался с помощью «functionapp,windows» и все еще получил Linux.

Ответ №1:

Пожалуйста, заполните свой шаблон РУКИ. Тогда это легче проверить. Для зарезервированного свойства должно быть установлено значение false.

Решение должно быть:

    {
    "type": "Microsoft.Web/serverfarms",
    "apiVersion": "2018-02-01",
    "name": "[parameters('app_serviceplan_name')]",
    "location": "[parameters('location')]",
    "sku": {
        "name": "EP1",
        "tier": "ElasticPremium",
        "size": "EP1",
        "family": "EP",
        "capacity": 1
    },
    "kind": "elastic",
    "properties": {
        "perSiteScaling": false,
        "maximumElasticWorkerCount": 20,
        "isSpot": false,
        "reserved": false,
        "isXenon": false,
        "hyperV": false,
        "targetWorkerCount": 0,
        "targetWorkerSizeId": 0
    }
}
 

Свойства:

Комментарии:

1. Большое вам спасибо!

2. Добро пожаловать