Выбор целевых версий среды выполнения Функций AzureHow to target Azure Functions runtime versions

Приложение-функция работает в определенной версии среды выполнения для решения "Функции Azure".A function app runs on a specific version of the Azure Functions runtime. Существует три основных версии: 1. x, 2. x и 3. x.There are three major versions: 1.x, 2.x, and 3.x. По умолчанию приложения функций создаются в версии 2. x среды выполнения.By default, function apps are created in version 2.x of the runtime. Из этой статьи вы узнаете, как настроить приложение-функцию Azure для выполнения в выбранной версии.This article explains how to configure a function app in Azure to run on the version you choose. Сведения о настройке локальной среды разработки для определенной версии см. в разделе Как программировать и тестировать функции Azure в локальной среде.For information about how to configure a local development environment for a specific version, see Code and test Azure Functions locally.

Обновление версий автоматически и вручнуюAutomatic and manual version updates

Функции Azure позволяют ориентироваться на конкретную версию среды выполнения с помощью параметра приложения FUNCTIONS_EXTENSION_VERSION в приложении-функции.Azure Functions lets you target a specific version of the runtime by using the FUNCTIONS_EXTENSION_VERSION application setting in a function app. Приложение-функция будет работать в указанной основной версии, пока вы явно не переместите его в новую.The function app is kept on the specified major version until you explicitly choose to move to a new version.

Если указать только основной номер версии, приложение-функция автоматически обновится до новых дополнительных версий среды выполнения, когда они станут доступны.If you specify only the major version, the function app is automatically updated to new minor versions of the runtime when they become available. Во вспомогательные версии не вносятся критически важные изменения.New minor versions do not introduce breaking changes. При указании дополнительного номера версии (например, "2.0.12345") приложение-функция будет закреплено за этой версией, пока вы явно не укажете другую.If you specify a minor version (for example, "2.0.12345"), the function app is pinned to that specific version until you explicitly change it.

Примечание

Если вы запишете на определенную версию функций Azure и попытаетесь опубликовать в Azure с помощью Visual Studio, откроется диалоговое окно с запросом на обновление до последней версии или отмену публикации.If you pin to a specific version of Azure Functions, and then try to publish to Azure using Visual Studio, a dialog window will pop up prompting you to update to the latest version or cancel the publish. Чтобы избежать этого, добавьте свойство <DisableFunctionExtensionVersionUpdate>true</DisableFunctionExtensionVersionUpdate> в файл .csproj.To avoid this, add the <DisableFunctionExtensionVersionUpdate>true</DisableFunctionExtensionVersionUpdate> property in your .csproj file.

Если новая версия общедоступна, выполнить обновление до нее можно при помощи запроса на портале.When a new version is publicly available, a prompt in the portal gives you the chance to move up to that version. Перейдя на новую версию, вы всегда сможете вернуться к предыдущей с помощью параметра приложения FUNCTIONS_EXTENSION_VERSION.After moving to a new version, you can always use the FUNCTIONS_EXTENSION_VERSION application setting to move back to a previous version.

В следующей таблице показаны значения FUNCTIONS_EXTENSION_VERSION для каждой основной версии, позволяющие включить автоматическое обновление.The following table shows the FUNCTIONS_EXTENSION_VERSION values for each major version to enable automatic updates:

Основной номер версииMajor version Значение FUNCTIONS_EXTENSION_VERSIONFUNCTIONS_EXTENSION_VERSION value
3.x3.x ~3
2.x2.x ~2
1.x1.x ~1

Изменение версии среды выполнения сопровождается перезапуском приложения-функции.A change to the runtime version causes a function app to restart.

Просмотр и обновление текущей версии среды выполненияView and update the current runtime version

Вы можете изменить версию среды выполнения, используемую приложением функции.You can change the runtime version used by your function app. Из-за возможных критических изменений можно изменить только версию среды выполнения до создания функций в приложении-функции.Because of the potential of breaking changes, you can only change the runtime version before you have created any functions in your function app.

Важно!

Версию среды выполнения определяет параметр FUNCTIONS_EXTENSION_VERSION, но изменять это значение напрямую не следует. Вместо этого воспользуйтесь порталом Azure.Although the runtime version is determined by the FUNCTIONS_EXTENSION_VERSION setting, you should make this change in the Azure portal and not by changing the setting directly. Это обусловлено тем, что на портале изменения проверяются и при необходимости вносятся другие связанные с ними изменения.This is because the portal validates your changes and makes other related changes as needed.

на портале Azure;From the Azure portal

Выполните приведенные ниже инструкции, чтобы узнать, какая версия среды выполнения сейчас используется в приложении-функции, и обновить ее при необходимости.Use the following procedure to view and update the runtime version currently used by a function app.

  1. На портале Azure перейдите к приложению-функции.In the Azure portal, browse to your function app.

  2. В разделе Настроенные компоненты выберите Параметры приложения-функции.Under Configured Features, choose Function app settings.

    Выбор параметров приложения-функции

  3. На вкладке Параметры приложения-функции найдите версию среды выполнения.In the Function app settings tab, locate the Runtime version. Укажите определенную версию среды выполнения и требуемую основную версию.Note the specific runtime version and the requested major version. В приведенном ниже примере задана версия ~2.In the example below, the version is set to ~2.

    Выбор параметров приложения-функции

  4. Чтобы закрепить приложение-функцию на версии среды выполнения 1.x, в пункте версии среды выполнения выберите ~1.To pin your function app to the version 1.x runtime, choose ~1 under Runtime version. Этот параметр неактивен, если в приложении уже есть функции.This switch is disabled when you have functions in your app.

  5. После изменения версии среды выполнения вернитесь на вкладку Обзор и щелкните Перезапустить, чтобы перезапустить приложение.When you change the runtime version, go back to the Overview tab and choose Restart to restart the app. Приложение-функция перезапускается в среде выполнения версии 1.x, и при создании функций используются шаблоны версии 1.x.The function app restarts running on the version 1.x runtime, and the version 1.x templates are used when you create functions.

Примечание

С помощью портал Azure нельзя изменить версию среды выполнения для приложения-функции, которое уже содержит функции.Using the Azure portal, you can't change the runtime version for a function app that already contains functions.

Использование Azure CLIFrom the Azure CLI

Параметр FUNCTIONS_EXTENSION_VERSION также можно просмотреть и задать с помощью интерфейса командной строки Azure.You can also view and set the FUNCTIONS_EXTENSION_VERSION from the Azure CLI.

Примечание

Поскольку версия среды выполнения может влиять на другие параметры, следует изменить версию на портале.Because other settings may be impacted by the runtime version, you should change the version in the portal. При изменении версии среды выполнения портал автоматически сделает другие необходимые обновления, например версии Node.js и стека среды выполнения.The portal automatically makes the other needed updates, such as Node.js version and runtime stack, when you change runtime versions.

В Azure CLI просмотрите текущую версию среды выполнения с помощью команды az functionapp config appsettings set.Using the Azure CLI, view the current runtime version with the az functionapp config appsettings set command.

az functionapp config appsettings list --name <function_app> \
--resource-group <my_resource_group>

В этом коде следует заменить <function_app> именем приложения-функции.In this code, replace <function_app> with the name of your function app. Также замените <my_resource_group> именем группы ресурсов для приложения-функции.Also replace <my_resource_group> with the name of the resource group for your function app.

В следующих выходных данных (сокращенных для ясности) есть параметр FUNCTIONS_EXTENSION_VERSION:You see the FUNCTIONS_EXTENSION_VERSION in the following output, which has been truncated for clarity:

[
  {
    "name": "FUNCTIONS_EXTENSION_VERSION",
    "slotSetting": false,
    "value": "~2"
  },
  {
    "name": "FUNCTIONS_WORKER_RUNTIME",
    "slotSetting": false,
    "value": "dotnet"
  },
  
  ...
  
  {
    "name": "WEBSITE_NODE_DEFAULT_VERSION",
    "slotSetting": false,
    "value": "8.11.1"
  }
]

Обновить параметр FUNCTIONS_EXTENSION_VERSION в приложении-функции можно с помощью команды az functionapp config appsettings set.You can update the FUNCTIONS_EXTENSION_VERSION setting in the function app with the az functionapp config appsettings set command.

az functionapp config appsettings set --name <function_app> \
--resource-group <my_resource_group> \
--settings FUNCTIONS_EXTENSION_VERSION=<version>

Замените <function_app> на имя приложения-функции.Replace <function_app> with the name of your function app. Также замените <my_resource_group> именем группы ресурсов для приложения-функции.Also replace <my_resource_group> with the name of the resource group for your function app. Замените также <version> на значение допустимой версии среды выполнения (для версии 1.x) или на значение ~2 (для версии 2).Also, replace <version> with a valid version of the 1.x runtime or ~2 for version 2.x.

Эту команду можно выполнить в Azure Cloud Shell, выбрав Попробовать в предыдущем примере кода.You can run this command from the Azure Cloud Shell by choosing Try it in the preceding code sample. Также можно использовать Azure CLI локально для выполнения этой команды после выполнения команды az login для входа.You can also use the Azure CLI locally to execute this command after executing az login to sign in.

Дальнейшие действияNext steps