Бөлісу құралы:


Выбор целевых версий среды выполнения Функций 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.

Если приложение имеет существующие функции, перед переходом на более позднюю основную версию среды выполнения необходимо принять меры предосторожности. В следующих статьях подробно рассматриваются критические изменения между основными версиями, включая критические изменения на языке. Они также предоставляют пошаговые инструкции по успешной миграции существующего приложения-функции.

Сведения об определении текущей версии среды выполнения см. в разделе "Просмотр текущей версии среды выполнения".

Просмотр текущей версии среды выполнения

Текущую версию приложения-функции можно просмотреть одним из следующих способов:

Чтобы просмотреть и обновить версию среды выполнения, используемую приложением-функцией, выполните следующие действия:

  1. На портале Azure перейдите к приложению-функции.

  2. Разверните узел "Параметры" и выберите " Конфигурация".

  3. На вкладке "Параметры среды выполнения функции" обратите внимание на версию среды выполнения. В этом примере для версии задано значение ~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 файл.

Используйте один из этих методов, чтобы временно закрепить приложение к определенной версии среды выполнения:

Чтобы просмотреть и обновить версию среды выполнения, используемую приложением-функцией, выполните следующие действия:

  1. На портале Azure перейдите к приложению-функции.

  2. Разверните узел "Параметры" и выберите " Конфигурация".

  3. На вкладке "Параметры среды выполнения функции" обратите внимание на версию среды выполнения. В этом примере для версии задано значение ~4.

    Снимок экрана: просмотр версии среды выполнения.

  1. Чтобы закрепить приложение на определенной дополнительной версии, в левой области разверните узел "Параметры" и выберите переменные среды.

  2. На вкладке "Параметры приложения" выберите FUNCTIONS_EXTENSION_VERSION, измените значение на требуемую дополнительную версию и нажмите кнопку "Применить".

  3. Нажмите кнопку "Применить", а затем нажмите кнопку "Подтвердить", чтобы применить изменения и перезапустить приложение.

После внесения изменений в параметры приложения-функции оно автоматически перезапустится.

Чтобы закрепить функциональное приложение на определенной версии исполняемой среды в Linux, задайте URL-адрес базового образа конкретной версии в linuxFxVersion параметре сайта согласно формату DOCKER|<PINNED_VERSION_IMAGE_URI>.

Внимание

Закрепленные приложения-функции в Linux не получают регулярные обновления функций безопасности и размещения. Если не рекомендуется специалистом по поддержке, используйте FUNCTIONS_EXTENSION_VERSION параметр и стандартное linuxFxVersion значение для вашего языка и версии, например Python|3.12. Допустимые значения см. в справочной 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 входа.

После внесения изменений в конфигурацию сайта приложение-функция перезапустится.

Следующие шаги