Выбор целевых версий среды выполнения Функций Azure
Приложение-функция работает в определенной версии среды выполнения для решения "Функции Azure". По умолчанию приложения-функции создаются в последней версии среды выполнения функций 4.x. Приложения-функции поддерживаются только в том случае, если они выполняются в поддерживаемой основной версии. В этой статье объясняется, как настроить приложение-функцию в Azure для целевого объекта или закрепить определенную версию при необходимости.
Способ, которым вы нацелены на определенную версию, зависит от того, работаете ли вы под управлением Windows или Linux. Эта версия статьи поддерживает Windows. Выберите операционную систему в верхней части статьи.
Способ, которым вы нацелены на определенную версию, зависит от того, работаете ли вы под управлением Windows или Linux. Эта версия статьи поддерживает Linux. Выберите операционную систему в верхней части статьи.
Внимание
По возможности всегда выполняйте функции в последней поддерживаемой версии среды выполнения Функции Azure. Вы должны закрепить приложение только на определенную версию, если вы научились сделать это из-за проблемы с последней версией. Всегда переходите к последней версии среды выполнения, как только функции могут работать правильно.
Во время локальной разработки установленная версия Функции 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.9
. Допустимые значения см. в справочной linuxFxVersion
статье.
Закрепление в определенной среде выполнения в настоящее время не поддерживается для приложений-функций Linux, работающих в плане потребления.
В следующем примере показано значение, необходимое linuxFxVersion
для закрепления приложения-функции Node.js 16 в определенной версии среды выполнения 4.14.0.3:
DOCKER|mcr.microsoft.com/azure-functions/node:4.14.0.3-node16
При необходимости специалист по поддержке может предоставить допустимый универсальный код ресурса (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
входа.
После внесения изменений в конфигурацию сайта приложение-функция перезапустится.