No se puede crear una aplicación de función basada en Windows (SO) en un plan de servicio de aplicaciones mediante ARM

1 minuto de lectura

Avatar de usuario de Benjy Bret Barlow
Benjy Bret Barlow

Creé una plantilla ARM de aplicación de funciones y archivos JSON de parámetros y los implementé a través de la CLI. El problema es que, sin embargo, ajusto la plantilla, siempre termino con una aplicación de funciones de Linux.

Cuando presiono Exportar plantilla después de la implementación, el tipo de aplicación de función cambia automáticamente a:

  "kind": "functionapp,linux",

¿Hay alguna forma de implementar una aplicación de funciones del sistema operativo Windows en Azure? Esto no está documentado en absoluto por Microsoft.

Aquí está mi plantilla ARM (la parte importante):

        "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
        }
    },

  • Volví a implementar con ‘functionapp,windows’ y todavía tengo Linux.

    –Benjy Bret Barlow

    20 oct 2021 a las 12:57


¿Ha sido útil esta solución?