it-swarm.com.ru

Функции Azure ARM Шаблон развертывания удаляет функции

У меня есть шаблон ARM (включен ниже) для развертывания приложения-функции Azure. Я развернул его с помощью:

az group deployment create --resource-group my-group --template-file my-function-app.json

Это работает, и я могу затем успешно развернуть свои функции с помощью плагина VS Code или основных инструментов Azure Functions.

Однако если я затем повторно разверну шаблон ARM (например, для обновления настроек приложения), то я потеряю свои функции и мне потребуется повторно развернуть их снова. Это ожидаемое поведение? Это не то, что я наблюдаю при развертывании, например. веб-приложение с помощью шаблона ARM. Могу ли я сделать что-то конкретное при развертывании шаблона ARM для приложения-функции, чтобы сохранить мои развернутые функции?

моя функция-app.json:

{
    "$schema": "http://schema.management.Azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        ...
    },
    "variables": {
        ...
    },
    "resources": [
        {
            "apiVersion": "2015-08-01",
            "type": "Microsoft.Web/sites",
            "name": "[variables('collectorFunctionAppName')]",
            "location": "[parameters('location')]",
            "kind": "functionapp",
            "properties": {
                "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('hostingPlanName'))]",
                "siteConfig": {
                    "appSettings": [
                        {
                            ...
                        }
                    ]
                }
            }
        }
    ],
    "outputs": {}
}
3
eoinmullan

Вы развертываете свою функцию как пакет? Если это так, убедитесь, что вы установили этот параметр в своем шаблоне, так как он будет удален при повторном развертывании в противном случае:

{ "name": "WEBSITE_RUN_FROM_PACKAGE", "значение": "1" }

3
curious coder

Вы можете попробовать параметр --mode incremental, хотя он должен быть по умолчанию, если он не предоставлен.

0
Miksteri