Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Приложение-функция Функции Azure выполняется в определенной версии среды выполнения Функции Azure. По умолчанию вы создаете приложения-функции в последней версии 4.x среды выполнения Функций. Приложения-функции поддерживаются только в том случае, если они выполняются в поддерживаемой основной версии. В этой статье объясняется, как настроить приложение-функцию в Azure чтобы подключиться к или привязать к конкретной версии среды выполнения Functions, когда это необходимо.
Соображения
При выборе определенной версии среды выполнения следует учитывать следующие рекомендации.
-
План потребления Flex выполняется только в версии 4.x среды выполнения. Поскольку план Flex Consumption не поддерживает параметр приложения
FUNCTIONS_EXTENSION_VERSION, ваше приложение не может задать конкретную версию среды выполнения в рамках этого плана. - Способ, которым вы нацелены на определенную версию, зависит от того, работаете ли вы под управлением Windows или Linux.
- Эта статья связана с Windows или Linux. Выберите операционную систему в верхней части статьи.
- По возможности всегда запустите приложение в последней поддерживаемой версии среды выполнения. Закрепите приложение на конкретной версии только если вас попросили сделать это в связи с проблемой с новейшей версией. Всегда переходите к последней версии среды выполнения, как только функции могут работать правильно.
- Во время локальной разработки установленная версия Функции Azure Core Tools должна соответствовать основной версии среды выполнения, используемой приложением-функцией в Azure. Дополнительные сведения см. в основных версиях инструментов.
Обновление версии среды выполнения
По возможности всегда запускайте приложения-функции в последней поддерживаемой версии среды выполнения Функций Azure. Если приложение-функция в настоящее время работает в более старой версии среды выполнения, перенесите приложение в версию 4.x.
Если приложение имеет существующие функции, перед переходом на более позднюю основную версию среды выполнения необходимо принять меры предосторожности. В следующих статьях подробно рассматриваются критические изменения между основными версиями, включая критические изменения на языке. Они также предоставляют пошаговые инструкции по успешной миграции существующего приложения-функции.
- Перенос из среды выполнения версии 3.x в версию 4.x
- Перенос из среды выполнения версии 1.x в версию 4.x
Сведения об определении текущей версии среды выполнения см. в разделе "Просмотр текущей версии среды выполнения".
Просмотр текущей версии среды выполнения
Текущую версию приложения-функции можно просмотреть одним из следующих способов:
Чтобы просмотреть и обновить версию среды выполнения, используемую приложением-функцией, выполните следующие действия:
На портале Azure перейдите к приложению-функции.
Разверните Параметры, а затем выберите Конфигурация.
На вкладке "Параметры среды выполнения функции" обратите внимание на версию среды выполнения. В этом примере для версии задано значение
~4.
Закрепить за конкретной версией
Функции Azure позволяет использовать параметр приложения FUNCTIONS_EXTENSION_VERSION, чтобы указать версию среды выполнения, используемую для конкретного приложения-функции. Если указать только основную версию (~4), приложение-функция автоматически обновляется до новых дополнительных версий среды выполнения по мере их доступности. Обновления минорных версий происходят автоматически, так как новые минорные версии, скорее всего, не будут вводить изменения, которые могут нарушить работу ваших функций.
Приложения Linux используют linuxFxVersion параметр сайта вместе с FUNCTIONS_EXTENSION_VERSION для определения правильного базового образа Linux, в котором выполняются ваши функции. При создании нового приложения-функции в среде Linux среда выполнения автоматически выбирает для вас подходящий базовый образ на основе версии среды выполнения вашего языкового стека.
Переключение на конкретную версию среды выполнения перезапускает ваше функциональное приложение.
При указании определенной дополнительной версии (например, 4.0.12345) в FUNCTIONS_EXTENSION_VERSION, вы закрепляете функциональное приложение на этой конкретной версии среды выполнения, пока явно не решите вернуться к автоматическим обновлениям. Закрепите приложение на определенной минорной версии только на время, необходимое для устранения всех проблем с вашим приложением-функцией, которые мешают перейти на основную версию. Старые промежуточные версии регулярно удаляются из рабочей среды. Когда приложение-функция закреплено за дополнительной версией, которая позже удалена, оно выполняется на ближайшей доступной версии вместо версии, указанной в FUNCTIONS_EXTENSION_VERSION.
Объявления службы приложений объявляют об удалении минорных версий.
Примечание.
Когда вы пытаетесь выполнить публикацию из Visual Studio в приложение, закреплённое на определённой минорной версии среды выполнения, появляется диалоговое окно с предложением обновиться до последней версии или отменить публикацию. Чтобы избежать этой проверки, если необходимо использовать определенную второстепенную версию, добавьте свойство <DisableFunctionExtensionVersionUpdate>true</DisableFunctionExtensionVersionUpdate> в файл .csproj.
Используйте один из этих методов, чтобы временно закрепить приложение к определенной версии среды выполнения:
Чтобы просмотреть и обновить версию среды выполнения, используемую приложением-функцией, выполните следующие действия:
На портале Azure перейдите к приложению-функции.
Разверните Параметры, а затем выберите Конфигурация.
На вкладке "Параметры среды выполнения функции" обратите внимание на версию среды выполнения. В этом примере для версии задано значение
~4.
Чтобы закрепить приложение на конкретной второстепенной версии, на левой панели разверните Параметры, а затем выберите Переменные среды.
На вкладке "Параметры приложения" выберите FUNCTIONS_EXTENSION_VERSION, измените значение на требуемую дополнительную версию и нажмите кнопку "Применить".
Нажмите кнопку "Применить", а затем нажмите кнопку "Подтвердить", чтобы применить изменения и перезапустить приложение.
После внесения изменений в параметры приложения-функции оно автоматически перезапустится.
Чтобы закрепить функциональное приложение на определенной версии исполняемой среды в Linux, задайте URL-адрес базового образа конкретной версии в linuxFxVersion параметре сайта согласно формату DOCKER|<PINNED_VERSION_IMAGE_URI>.
Внимание
Закреплённые приложения-функции в Linux не получают регулярные обновления безопасности и функциональности узла. Если не рекомендуется специалистом по поддержке, используйте FUNCTIONS_EXTENSION_VERSION параметр и стандартное linuxFxVersion значение для вашего языка и версии, например Python|3.12. Допустимые значения см. в справочной linuxFxVersion статье.
Закрепление в определенной среде выполнения в настоящее время не поддерживается для приложений-функций Linux, работающих в плане потребления.
В следующем примере показано значение linuxFxVersion, необходимое для закрепления приложения-функции Node.js 22 к определённой версии среды выполнения 4.14.0.3:
DOCKER|mcr.microsoft.com/azure-functions/node:4.14.0.3-node22
При необходимости специалист службы поддержки может предоставить вам корректный URI базового образа для вашего приложения.
Используйте следующие команды Azure CLI для просмотра и настройки linuxFxVersion. В настоящее время нельзя задать linuxFxVersion на портале или с помощью Azure PowerShell:
Чтобы просмотреть текущую версию среды выполнения, используйте команду az functionapp config show :
az functionapp config show --name <function_app> \ --resource-group <my_resource_group> --query 'linuxFxVersion' -o tsvВ этом коде следует заменить
<function_app>именем приложения-функции. Кроме того, замените<my_resource_group>на имя группы ресурсов для приложения-функции. Возвращается текущее значение параметраlinuxFxVersion.Чтобы обновить параметр
linuxFxVersionв приложении функции, используйте команду az functionapp config set:az functionapp config set --name <FUNCTION_APP> \ --resource-group <RESOURCE_GROUP> \ --linux-fx-version <LINUX_FX_VERSION>Замените
<FUNCTION_APP>на имя приложения-функции. Кроме того, замените<RESOURCE_GROUP>на имя группы ресурсов для вашего приложения-функции. Наконец, замените<LINUX_FX_VERSION>значением определенного изображения, предоставленного специалистом службы поддержки.
Эти команды можно выполнить из Azure Cloud Shell, выбрав Open Cloud Shell в предыдущих примерах кода. Вы также можете локально использовать Azure CLI для выполнения этой команды после выполнения az login входа.
После внесения изменений в конфигурацию сайта приложение-функция перезапустится.